Avatar billede Mik2000 Professor
07. marts 2018 - 12:25 Der er 3 kommentarer og
3 løsninger

Session dør

Jeg har et problem med sessions.

Hvis jeg opretter en session:
$_SESSION = "test";

Så forsvinder den altid efter en mindre periode, også selvom jeg forsøger at forny den ved f.eks. at sætte den igen.
Det er som om det sker, også selvom man har skiftet underside (så man behøver ikke sidde og være inaktiv på en underside)
Jeg er klar over der er noget server indstilling der kan sætte tiden op før det sker, og det er sikkerhedsmæssigt.

Men er der ikke en måde hvorpå man kan forlænge den session så den bliver gyldig en ny periode hver gang den forlænges?
Avatar billede arne_v Ekspert
07. marts 2018 - 12:44 #1
Den bliver forlaenget hver gang du bruger den.

Men:

$_SESSION = "test";

ser meget mystisk ud.

$_SESSION["test"] = "test";

?
Avatar billede Mik2000 Professor
07. marts 2018 - 23:44 #2
Tak for svar - det fik jeg vist lige skrevet lidt for hurtigt - navnet på den er med :)

1:
Kan der være noget andet der i så fald gør at en bruger bliver logget ud efter en hvis tid?

2:
Hvis man f.eks. gør det omvendt og blot gemmer session i en variabel for at holde den i live - vil det så også virke
f.eks. $var = $_SESSION["test"];

3:
Tillægsspørgsmål:
Jeg hørte man bør skifte nøgle/id eller sådan noget på en session hver gang man går til en ny underside af sikkerhedsmæssige grunde - er der noget om det?
Avatar billede arne_v Ekspert
08. marts 2018 - 03:18 #3
Det er ikke brug af $_SESSION som holder session i live, men enhver request fra browser som kalde en side med session_start().

SPM 3 forstaar jeg ikke.
Avatar billede Zkyhndk Juniormester
08. marts 2018 - 11:17 #4
har du husket og starte dine sider med session_start(); ?
Alle sider, hvor du vil holde session i live skal du inkludere session_start();


Spørgsmål 3:
Evt. opret en ny sessionID, hver gang en bruger logger succesfuldt ind:
session_start();
session_regenerate_id();
Avatar billede Mik2000 Professor
09. marts 2018 - 12:02 #5
Hej

Så forstår jeg simpelthen ikke hvorfor brugeren logges ud efter noget tid for jeg har jo session_start(); på de forskellige undersider, da SESSIONS bliver brugt på dem

Jeg har ikke brugt denne: session_regenerate_id();
Måske var det den spørgsmål 3 refererede til
Avatar billede Zkyhndk Juniormester
09. marts 2018 - 12:30 #6
#5
Kan du evt. oploade dit login script via pastebin eller bare her? En anden ting kan jo også være din: session.gc_maxlifetime

Til svar på dit spørgsmål 3:
Sessions er jo relative sikre, hvis du ovenikøbet benytter https(ssl), så bliver den yderlig krypteret.  Men som sagt en af de eneste måder folk kan stjæle sessions på, er ved at injecte kode på dit website.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester