learnMedlem sedan jan. 20051 130 inlägg Jag håller på att bygga ett inloggningsscript m.h.a. cookies och har fått mkt hjälp av Tydals inlägg.
Några frågor har dykt upp:
* Vad händer om det redan finns en cookie i besökarens dator med samma namn som den jag skapar vid inloggningen? Skrivs den över?
Ett säkerhetsproblem jag kommit fram till: md5-hashen sparas ju i en cookie i besökarens dator och vem som helst (som kommer åt datorn, t.ex. en kompis) kan gå in och kopiera för att sedan skapa en egen cookie med samma hash på sin dator. Då kommer ju han/hon in utan att behöva logga in... Tydal löser detta genom att lägga in en tidsstämpel i hashen. Då har jag två motfrågor:
* Är inte tanken med att spara inloggningen i en cookie ofta att besökaren inte ska behöva logga in på nytt nästa gång han/hon besöker sidan...?
* Om en inloggad besökare surfar runt på sajten längre än (i detta fall) en timme så slängs han/hon ut ju, eller hur?
Inte så bra.
En fråga till:
Hur gör man för att ändra en cookie? T.ex. ändra giltighetstiden.
Tack på förhand!
tydalMedlem sedan juni 20034 013 inlägg Oj, det där skrev jag ju för jättelängesen :-)
Om det redan finns en cookie med samma namn så skrivs den över.
Om du vill ha finessen att besökaren inte ska behöva logga in nästa gång så har du problemet med att cookien kan stjälas. En variant kan ju vara att lägga med ip-adressen, men det funkar ju inte så bra om man har dynamisk ip (vilket de flesta har) eller om man kopplar upp sig på olika ställen (exempelvis bärbar dator).
Medan en inloggad besökare surfar runt så kan du ju uppdatera tiden genom att skicka en ny cookie.
learnMedlem sedan jan. 20051 130 inlägg Ok, tack. Då är några frågetecken utsuddade. Man får väl helt enkelt informera besökaren om att det finns det vissa risker med att spara inloggningen, och rekommendera att endast göra detta på en privat dator.
Det är är ju som sagt ett inlägg du skrev för länge sedan, men visst stämmer principen och resonemangen fortfarande?
tydalMedlem sedan juni 20034 013 inlägg Ja, det är faktiskt sex år sen jag skrev det. Först på Eforum, och så kopierade jag hit det några år senare när någon ställde frågan här. Men visst stämmer principerna och resonemanget fortfarande. Det är ju fördelen med att försöka hålla det på en generell nivå och beskriva tekniken bakom...
Idag använder man dock hellre sessioner för att lagra information om besökarna, men sessioner använder ju cookies för att fungera. Informationen lagras dock på servern kopplat till ett id-nummer (sessions-id) och så sparas id-numret i cookien.
learnMedlem sedan jan. 20051 130 inlägg Ok, varför ska man hellre använda sessioner?
Ska man då kombinera sessionerna med cookies ifall man vill kunna "spara" inloggningen?
tydalMedlem sedan juni 20034 013 inlägg Sessioner är mer om du vill kunna lagra saker om besökarna. Bara för inloggning så kvittar det. Men som du skriver, om du vill att inloggningen ska ligga kvar mellan besöken så behöver du använda cookies själv. De cookies som sessionerna skapar raderas automatiskt när man stänger webbläsaren.
learnMedlem sedan jan. 20051 130 inlägg Men cookies utan angiven expire raderas väl också när webbläsaren stängs?
php.net skrev:
If set to 0, or omitted, the cookie will expire at the end of the session (when the browser closes).
tydalMedlem sedan juni 20034 013 inlägg
learn skrev:
Men cookies utan angiven expire raderas väl också när webbläsaren stängs?
Ja, och det är en sån cookie sessioner använder.
learnMedlem sedan jan. 20051 130 inlägg Okay. Försvinner den helt och hållet eller går den att hitta/återskapa på något sätt?
tydalMedlem sedan juni 20034 013 inlägg Den försvinner helt och hållet. Har för mig att de inte ens sparas på hårddisken utan bara lever i ram.
tydalMedlem sedan juni 20034 013 inlägg Beror på webbläsaren. I Internet Explorer hamnar de i \documents and settings\ANVÄNDARNAMN\cookies.
learnMedlem sedan jan. 20051 130 inlägg Okidoki, tack för din hjälp! Kanske jag återkommer snart igen.
Godnatt påre'