---
title: "Testa om cookies är påslaget"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/131293-testa-om-cookies-är-påslaget"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "mattiasnordin"
published: "2005-07-12T09:34:36.000Z"
updated: "2005-12-11T20:51:24.000Z"
replies: 11
views: 637
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/131293-testa-om-cookies-är-påslaget"
---

# Testa om cookies är påslaget

## #1 — mattiasnordin, 2005-07-12T09:34Z

Är det någon som har några erfarenheter av detta?

<http://www.asp101.com/articles/john/cookiedetect/default.asp>

Har läst ovan. Behöver man verkligen använda querystrings. Jag skulle verkligen vilja undvika att ladda om sidan...

?!

Permalänk: https://www.webforum.nu/p/131293

## #2 — @nders, 2005-07-12T09:41Z

Du måste ladda om sidan. Eller ladda sida #2 i en dold frame eller liknande. En cookie som sätts finns tillgänglig på sidan oberoende av om klienten har tagit emot den eller inte.

Mvh

Permalänk: https://www.webforum.nu/p/1645187

## #3 — mattiasnordin, 2005-07-12T11:33Z

Ok.

På länken ovan så finns det ytterligare ett exempel.

\<%
If Request.Querystring("Check") = "" Then
	Session("cookietest") = "True"
	Response.Redirect("cookietest.asp?Check=True")
Else
	If Session("cookietest") Then
		\<!-- Execute code if enabled --\>
	Else
		\<!-- Execute code if disabled --\>
	End If
End If
%\>

Hur fungerar det? Jag trodde att Session("cookietest") sparades på servern och inte klienten. Vad bevisar igentligen ovan ?

Permalänk: https://www.webforum.nu/p/1645203

## #4 — @nders, 2005-07-12T11:50Z

Sessionsvariabler genererar också en cookie hos klienten, en sessioncookie som lagras i minnet (inte på disk som vanliga cookies). I cookien finns en nyckel som knyter ihop klienten med rätt sessionsvariabler på servern, eftersom servern annars inte har en aning om vilken klient som äger vilka variabler.

Vad gäller säkerhetsinställningarna i browsern är de olika för de två olika typerna av kakor. Det kanske inte är helt fel att testa båda?

mvh

Permalänk: https://www.webforum.nu/p/1645211

## #5 — mattiasnordin, 2005-07-12T12:01Z

Bra förklaring vise @nders. :)

Permalänk: https://www.webforum.nu/p/1645214

## #6 — mattiasnordin, 2005-07-12T12:09Z

Om man använder javascript för att testa cookies... visst kan man läsa cookies som är skapade med VBscript ?

Permalänk: https://www.webforum.nu/p/1645219

## #7 — @nders, 2005-07-12T12:10Z

En cookie är en cookie är en cookie. :)

Permalänk: https://www.webforum.nu/p/1645220

## #8 — mattiasnordin, 2005-07-12T13:41Z

Kakor är ju gott. !

```
<% 	'THIS SCRIPT WILL TEST IF COOKIES IS ENABLED ON THE CLIENT. 
	'THE PAGE WILL BE RELOADED. PUT THIS SCRIPT AT THE TOP.
if Request.Querystring("page") <> "reloaded" then
	Response.Cookies("cookies_enabled") = "yes"
	Response.Cookies("cookies_enabled").Expires = Date + 1
	   'This is useful if you need to remove the test cookie while you are testing.
	   'Response.Cookies("cookie_test").Expires = Date - 2
	Response.Redirect("_inc_test_if_cookies_is_enabled.asp?page=reloaded")
else
	if Request.Cookies("cookies_enabled") = "yes" then 
		'Cookies is enabled
		varCookiesEnabled = "yes"
	else
		'Cookies is NOT enabled
		varCookiesEnabled = "no"
	end if
end if %>

(Klienten stödjer kakor = <%=varCookiesEnabled%>)
```

Permalänk: https://www.webforum.nu/p/1645239

## #9 — mattiasnordin, 2005-07-12T14:21Z

En liten fix som tar bort en del onödiga omladdningar samt en smidigare hänvisning till samma sida...

```
<% 	'THIS SCRIPT WILL TEST IF COOKIES IS ENABLED ON THE CLIENT. 
	'THE PAGE WILL BE RELOADED. PUT THIS SCRIPT AT THE TOP.
if Request.Querystring("page") <> "reloaded" and Request.Cookies("cookies_enabled") <> "" then	'Sidan ska inte laddas om efter cookien är satt 1 gång
	Response.Cookies("cookies_enabled") = "yes"
	Response.Cookies("cookies_enabled").Expires = Date + 1
	   'Response.Cookies("cookie_test").Expires = Date - 2		'This is useful if you need to remove the test cookie while you are testing.
	varThisPageUrl = Request.ServerVariables("SCRIPT_NAME")
	varThisPageUrl = varThisPageUrl &"?page=reloaded"
	Response.Redirect(varThisPageUrl)							'Detta gör att det går att inkludera detta skript i tex en header.
else
	if Request.Cookies("cookies_enabled") = "yes" then 
		'Cookies is enabled
		varCookiesEnabled = "yes"
	else
		'Cookies is NOT enabled
		varCookiesEnabled = "no"
	end if
end if %>

(Klienten stödjer kakor = <%=varCookiesEnabled%>)
```

Permalänk: https://www.webforum.nu/p/1645251

## #10 — lilja, 2005-09-05T14:51Z

Jag testade din kod men den fungerade in på min maskin?? Det såg dock rätt ut så jag har kollat en del på din kod och gjort en egen... Denna koden har jag testat på IE6 och Firefox 1.0.6 med olika säkerhetsinställningar...

```
<%
'----- Kontrollerar om en kaka skall skrivas eller om vi skall kontrollera om kakan finns kvar
If Request.QueryString("reloded") <> "True" Then
	
	'----- Sparar en cookie på klientens dator
	Response.Cookies("accept_cookies") = "Accepterad?"
	'----- Cookien försvinner om en timme om användedren skulle få för sig att ändra inställningarna
	Response.Cookies("accept_cookies").Expires = DateAdd("h", 1, Now())
	
	'----- Skapar en sessionscookie i klientens minne
	Session("accept_cookies") = "Accepterad?"
	
	'----- Laddar om sidan för att se om cookies stödjs
	varThisPageUrl = Request.ServerVariables("SCRIPT_NAME")
	varThisPageUrl = varThisPageUrl &"?reloded=True"
	Response.Redirect(varThisPageUrl)
Else
	'----- Kollar om kakan har sparats
	If Request.Cookies("accept_cookies") <> "" And Session("accept_cookies") <> "" Then
		'----- Ja! Alla kakor stödjs
		intCookieStatus = 1
	ElseIf Request.Cookies("accept_cookies") = "" And Session("accept_cookies") <> "" Then
		'----- Ja! men bara sessionskakor stödjs
		intCookieStatus = 2
	ElseIf Request.Cookies("accept_cookies") <> "" And Session("accept_cookies") = "" Then
		'----- Ja! men bara textkakor stödjs
		intCookieStatus = 3
	Else
		'----- Nej! Cookies stöddes ej
		intCookieStatus = 4
	End If
End If

Response.Write("<b>Status:</b> ")
Select Case intCookieStatus
	Case 0
		'----- Ingen kontroll har skett
	Case 1
		Response.Write("Alla kakor accepteras av din webbläsare!")
	Case 2
		Response.Write("Enbart sessionskakor accepteras av din webbläsare!")
	Case 3
		Response.Write("Enbart textkakor accepteras av din webbläsare!")
	Case 4
		Response.Write("Inga kakor accepteras av din webbläsare!")
End Select

Response.Write("<hr>")

'----- Skriver ut textkakan om den finns
Response.Write("Request.Cookies(""accept_cookies"") innehåller <b>" & Request.Cookies("accept_cookies") & "</b><br>" & vbCrLf)
'----- Skriver ut sessionskakan om den finns
Response.Write("Session(""accept_cookies"") innehåller <b>" & Session("accept_cookies") & "</b>")
%>
```

Permalänk: https://www.webforum.nu/p/1665409

## #11 — mattiasnordin, 2005-09-05T14:56Z

Ser ju jättebra ut. Fungerar utmärkt på min dator. Tummen upp!

Permalänk: https://www.webforum.nu/p/1665412

## #12 — Mattias Nordin, 2005-12-11T20:51Z

Funktionen som laddar om sidan kan med fördel ändras till:

```
varThisPageUrl = Request.ServerVariables("URL")
varThisPageQueryString = Request.ServerVariables("QUERY_STRING")
if varThisPageQueryString <> "" then 
	varThisPageUrl = varThisPageUrl &"?" &varThisPageQueryString &"&page=reloaded"
else
	varThisPageUrl = varThisPageUrl &"?page=reloaded"
end if
```

Då fungerar även direktlänkar till sidor som har en querystring i url:en. Ett problem som jag upptäkte att jag hade :(

:)

Permalänk: https://www.webforum.nu/p/1727614

---

Tråden på webben: https://www.webforum.nu/amne/asp/131293-testa-om-cookies-är-påslaget
