Archief - PHP: hoe degelijk sessie destroyen

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Le Preinz

Legacy Member
Ik open nieuwe volledige pagina. Er wordt ingelogd via sessie en dit blijkt te werken. Indien die pagina nu wordt afgesloten zou je automatisch uitgelogd moeten worden.

Ik dacht dus te werken met een body onunload dan session destroy of die session[gebruiker] een ongeldige waarde toe te kennen. Maar aangezien die beveiligde pagina telkens refreshed bij het navigeren (includes) wordt die pagina telkens geunload en kan er zo niet uitgelogd worden. (denk ik toch)

Als ik de pagina nu gewoon sluit en ik zou dan meteen de url via geschiedenis ophalen en terug pasten in de adresbalk zit die nog in die sessie en kan er dus meteen nog op de beveiligde pagina.

Ik heb hier en daar zo tutorial en manual gelezen van die sessie en snap er gewoon niet genoeg van. Hoe pak je dat dus aan om degelijk uit te loggen. Welk principe?

killgore

Legacy Member
helemaal op het einde van uw script
$_SESSION = array();
session_destroy();

uw javascript en html gebruiken dit toch niet, enkel php doet dit ;).

enkel dat van dat navigeren vind ik wat onduidelijk :s

Le Preinz

Legacy Member
session_destroy(); gewoon onderaan elke beveiligde pagina zetten? :unsure:

Met dat navigeren bedoel ik gewoon dat mijn navigatie gebruik maakt van includes. Elke keer als je dus op een knop drukt in navigatie wordt de hele pagina gerefreshed.

Ik wil dus gewoon dat als die pagina wordt afgesloten via ALT+F4 of kruis dat dan pas je wordt uitgelogd en niet als de pagina refreshed bij het navigeren.

Radiance

Legacy Member
dat is net het hele punt van een sessie :unsure:
normaal gezien van zo gauw je je browers sluit, is de sessie ten einde
let wel, als je 5 IE vensters hebt openstaan gaat je sessie pas ten einde zijt als je de laatste hebt toegedaan ;)

bij mijn weten moet je hier verder dus niks voor doen

Le Preinz

Legacy Member
idd dat is nu net het probleem. Als browserscherm van andere site (oa de hoofdsite waaraan de adminpagina is verbonden open blijft staan, is de sessie niet gestopt.

killgore

Legacy Member
Le Preinz zei:
idd dat is nu net het probleem. Als browserscherm van andere site (oa de hoofdsite waaraan de adminpagina is verbonden open blijft staan, is de sessie niet gestopt.
kan je niet verhelpen :).

window closes en browsing naar een externe url zijn nu eenmaal user-events, en dat kan php zogenaamd helemaal niet onderscheppen :).

edit: je kan met behulp van ini_set wel altijd de lifetimes van je sessie veranderen:

ini_set("session.gc_maxlifetime",600); bv.

BertG

Legacy Member
sessie verniettigen?
leuk scriptje voor->
maak een link met LOGOUT!
vandaar laat je dan wat ('k stel voor zo'n 50 tal) onzinnige session variablen Creëren en verander de gebruikte variabelen ook naar iets onzinnig

hiermee is de sessie niet vernietigd, maar toch goed naar de z*k geholpen:)

DarkBone

Legacy Member
BertG zei:
sessie verniettigen?
leuk scriptje voor->
maak een link met LOGOUT!
vandaar laat je dan wat ('k stel voor zo'n 50 tal) onzinnige session variablen Creëren en verander de gebruikte variabelen ook naar iets onzinnig

hiermee is de sessie niet vernietigd, maar toch goed naar de z*k geholpen:)

Repeat that please ? :confused:

De oplossing die killgore gaf is de juiste, je maakt gewoon je $_SESSION superglobal array leeg en dan vernietig je de sessie...

Wat jij voorstelt is ... :help:

BertG

Legacy Member
DarkBone zei:
Repeat that please ? :confused:

De oplossing die killgore gaf is de juiste, je maakt gewoon je $_SESSION superglobal array leeg en dan vernietig je de sessie...

Wat jij voorstelt is ... :help:
true, true, ben ik mij meer dan bewust van, maby hat ik meer smilies moeten gebruiken?
hoewel dit maby wel een oplossing kan geven voor het meerdere venster probleem :)

Zero Grav

Legacy Member
kunt ge ni beter eerst
session_unset();
zetten vooraleer
session_destroy();
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan