26. juni 2007 - 13:36Der er
3 kommentarer og 1 løsning
lave session til http_cookie
Hej eksperter
Kan man ikke på en nem måde gemme en session i en cookie, så når man forlader serveren og kommer tilbage igen kan gendanne den session man var igang med ?
jeg kører en session i ren http sider på min server. For at få nogle sider sikret i forbindelse med at kunden skal opgive nogle private oplysninger, så kører jeg mine næste sider gennem en anden server og får derved hevet et sikkerhedscertifikat med og kører så https.
Du kunne gemme session ID'et i en cookie, og så gemme den session i en database, som så bliver gendannet når besøgeren ønsker det.
Ting at overveje: - Sørg for at validere at brugeren er den, han udgiver sig for. Evt. via IP addr. - At man på ingen måde kan hijacke en session uden at være den, man udgiver sig for. - Hvis du har en application hvor sikkerhed prioritetsmæssigt overgår bekvemmelighed, så er det den anden vej du skal gå: At dræbe enhver session der har været idle i mere end X minutter.
Hvordan gør jeg lige det ? Men kan det laves så det bare bliver sendt med post og hentes med get http cookie på en eller anden måde ? eller gemt så jeg kan hente det med getenv ??
Nej, altså, du sætter en cookie med function.setcookie, som indeholder et session_id(), som så er gemt i en MySQL database som har de specifikke detaljer for den session som brugeren har. Altså, i databasen gemmer du id,sessionid,password hash,username mm. Men husk - På intet tidspunkt må du sende disse values til useren. De skal alle valideres og benyttes på serveren.
Jeg kan desværre ikke hjælpe dig mere specifikt, da det efterhånden er et par år siden jeg har lavet noget i PHP =)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.