login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Sessies vernieuwen

Offline cowb - 02/06/2011 17:54
Avatar van cowbLid Hi all,

Ik ben mijn site wat aan het opkuisen, en ik wil het graag allemaal een beetje veiliger dan het nu is.
Er is één probleem waar ik me heel erg aan stoor, maar ik wil graag eens luisteren hoe jullie dergelijk probleem oplossen.
Ik neem aan dat de meeste mensen gebruik maken van sessie voor een login systeem.
Voor zover ik weet verlopen sessie na een bepaalde tijd. En het is dus vrij irritant wanneer iemand een bericht aan het typen is, en op het moment dat hij het wil posten is de sessie verlopen.
Mijn systeem is voor het moment zodanig doorzichtig dat het gewoon zonder gebruikers gegevens in de database wordt geduwd, met alle gevolgen van dien...

Ik zou dus graag hebben dat voor alles de database in vliegt dat de sessie vernieuwd worden. Hoe doe ik dit het beste (en efficiënt)?

5 antwoorden

Gesponsorde links
Offline avdg - 02/06/2011 17:57
Avatar van avdg PHP gevorderde http://www.php....ate-id.php ?
Offline kilian - 02/06/2011 23:30
Avatar van kilian Lid Werkt dat nog als de gebruiker bv. een half uur niets gedaan heeft (of een half uur aan het typen is)?

Ik heb bij mijn CMS het opgelost door met javascript na een half uurtje een dialoog te openen met de vraag of de gebruiker ingelogd wil blijven. Kan hij binnen de minuut op "ok" klikken dan wordt zijn sessie gewoon verlengt en kan die verder typen. Indien er op "annuleren" wordt geklikt laat ik de sessie gewoon verlopen.
Duurt het langer dan die minuut (en kan de sessie dus intussen verlopen zijn, stel bv. ook een half uur) dan zou het toch zonde zijn van de mogelijk ingevoerde tekst te laten wegvallen. Daarom laat ik dan een pop-up openen waarbij er ingelogd kan worden. Na het inloggen wordt de pop-up weer gesloten en kan de gebruiker verder aan zijn pagina werken of deze opslaan. De sessie zal dus terug actief zijn en de gebruiker merkt nooit dat hij even uitgelogd was.
Offline avdg - 03/06/2011 02:44
Avatar van avdg PHP gevorderde http://www.php....e-lifetime
Offline cowb - 11/06/2011 10:44
Avatar van cowb Lid @avdg: Ik heb het voornamelijk op het mechanisme, niet over de functie.

Ik moet eerst wel op één of andere manier nagaan of de sessie verlopen is of niet eh. Jouw functie valt toch niet te gebruiken vlak voor het posten in de DB? Want het kan zijn dat de sessie dan al verlopen is!
Offline avdg - 11/06/2011 19:31
Avatar van avdg PHP gevorderde Je kan de vervaldatum van een sessie opnieuw instellen met PHP.net: session_set_cookie_params. Maar eenmaal vervallen, moet je het wel doen met een database. Sessions zijn niet de manier om permanente gegevens op te slaan 

Maar wat precies de vraag is is me eigenlijk zelf niet duidelijk, ik kan alleen maar helpen op gegevens die ik bruikbaar vind.
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.163s