webForumDet fria alternativet

Kolla om cookies är avaktiverat

ASP

11 svar · 1 136 visningar · startad av skarbratt

Medlem sedan juli 2000325 inlägg
Frågan#1

Hur kollar jag om användaren tillåter cookies eller session.

Session("active") = true
IF Session("active") THEN
Response.Write(Session("active"))
END IF

Den borde ju bara skriva "true" om den tillåter session, men jag får problemet att när jag stänger av Session/cookies ie winXP IE 6.0 så skriver den ut "true" trots att den är avstängd. Men det verkar bara bli för varje sida.

Dvs jag kan inte anroppa Session("active") på en anna sida och få ut "true".

Varför jag undrar är för att försöker konstruera en räknare som inte skall flippa ut när cookies/session är avstängt.

Några ideer...

Medlem sedan aug. 20012 349 inlägg
#2

OBS - Jag spånar fritt nu, det finns säkert någon som har en funkande idé som är bättre!

Det finns lite olika sätt att använda "sessions" även när användaren kör utan cookies.

T ex kan du försöka identifiera honom på ip nummer, webbläsare och annat gojs i http headern. Sen lagra den infon på olika som en identifierare "sessionnummer" eller hascha ihop det eller nått till ett unikt nummer.

Eller så tvingar du alla som kommer till sajten att passera genom en sida som skapar ett "session" nummer.

Sen kan du ta det nummer du får fram på något sätt och sända med till varje sida med querystring. För att få en id på användaren. Detta är ju inte säkert på något sätt.

För att öka på säkerheten lite kan du knyta ditt nummer och http info i en databas och där kolla så att ingen knycker någon annans sessionnummer genom att matcha detta på varje sida. Du sätter även en tidsstämpel i databasen varje gång surfaren går in på någon sida på din sajt. Sen kör du ett jobb i databasen som rensar eller så lägger du en rensning på varje sida som kollar om det finns poster äldre än 20 minuter t ex och då kastar man dem.

Blir session löst, funkar utan cookies. Men är inte helt perfekt.

Medlem sedan nov. 20017 144 inlägg
Medlem sedan juli 2000325 inlägg
#4

Mmm, men det är just så jag gör idag och det fungerar inte...

Medlem sedan dec. 20025 871 inlägg
#5

Det kan vara så att du satte din Cookie innan du tog bort cookies-stödet i din webbläsare. I och med det så har du cookiesen kvar i din dator.

Medlem sedan juni 200032 967 inlägg
#6

Problemet med det där scriptet är väl att det inte fungerar. :)

Man kan nämligen inte sätta en cookie och kolla av den på samma sida, utan du måste slänga in ett sidbyte emellan.

Sätter du en cookie på sida 1 och den finns kvar på sida 2, då vet du att klienten har tagit emot cookien.

Mvh

Medlem sedan juli 2000325 inlägg
#7

Exakt... @naders, har också kommit fram till att man kan lösa det, men min sida hade helst velat se en annan lösning *ler*

Men det kanske inte finns?

Medlem sedan juni 200032 967 inlägg
#8

Jag kan inte se någon annan direkt lösning, men det är jag det. ;)

Mvh

Medlem sedan nov. 20017 144 inlägg
#9

.Net ;)

Medlem sedan maj 200010 687 inlägg
#10

Kan .Net utan att göra något sidbyte kolla om användaren accepterar cookies?

Medlem sedan okt. 20005 273 inlägg
#11

Nej det kan det inte....

mv icaaq

Medlem sedan maj 200010 687 inlägg
#12

Tänkte väl... .Net har inte lösningen på all världens problem som vissa verkar tro.

263 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)