(Maximale) Sessie lengtes en (automatische) verlenging

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • ytterx
  • Registratie: Januari 2009
  • Laatst online: 03-10 22:47
Hallo,

Voor een CMSje wat ik beheer/maak ben ik bezig het sessie beheer wat te vernieuwen en uit te breiden.
Daarvoor wil ik graag gebruikers wat meer mogelijkheden geven tot onder andere de duur van hun sessie.

Tweakers zelf heeft een mooie dropdown met een aantal opties, 5 minuten, een half uur, een jaar ect.

Afbeeldingslocatie: https://tweakers.net/ext/f/tGRUVIvt8wZGa7gCIOJ7sRYv/full.png

Waar ik mee zit is de vernieuwing/actief houden van de sessie zodra de sessie "verloopt".
Voorbeeld:
Gebruiker logt in, en zet sessie duur op 5 minuten.
Gebruiker doet wat zaken op de website, klikt op wat links, de eerste 5 minuten zijn voorbij.

Dan zijn er (naar mijn weten) 2 opties, een harde logout (de initiële 5 minuten zijn immers voorbij) of een renewal van de sessie duur per opgevraagde pagina, de gebruiker was immers nog actief.

Ik heb al wat geprobeerd te experimenteren met wat Tweakers doet, maar het ziet er naar uit dat ik hier (mits browser open hou) na 5 minuten nog ben ingelogd.

Wat zijn jullie gedachtes hierover? En zijn de scenarios met een langere sessie duur hetzelfde?

Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Waarom zou je de sessie-levensduur niet gewoon bij elke pageview renewen?

Waarom zou je wachten tot zijn tijd voorbij is?

Acties:
  • 0 Henk 'm!

  • ytterx
  • Registratie: Januari 2009
  • Laatst online: 03-10 22:47
Dat is ook een van de opties die ik aandraag, automatisch vernieuwen heeft het probleem dat iemand in theorie ongemerkt ingelogd kan blijven. Immers geef je (ook) aan de cookie mee wanneer die expired..

Acties:
  • 0 Henk 'm!

  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 10-10 08:02
ytterx schreef op maandag 27 juni 2016 @ 13:33:
Dat is ook een van de opties die ik aandraag, automatisch vernieuwen heeft het probleem dat iemand in theorie ongemerkt ingelogd kan blijven. Immers geef je (ook) aan de cookie mee wanneer die expired..
Dan expire je de cookie toch als je 5 minuten geen activiteit heb gemeten? Dus geen request van de gebruiker, als iemand dan zijn browser open laat staan is de sessie na 5 minuten klaar.

Bij tweakers gaat dat niet omdat het poll script van het forum om de xx seconden checked of er nieuwe berichten in het topic zijn wat je open hebt staat.

Driving a cadillac in a fool's parade.


Acties:
  • 0 Henk 'm!

  • ytterx
  • Registratie: Januari 2009
  • Laatst online: 03-10 22:47
kwaakvaak_v2 schreef op maandag 27 juni 2016 @ 13:52:
[...]


Dan expire je de cookie toch als je 5 minuten geen activiteit heb gemeten? Dus geen request van de gebruiker, als iemand dan zijn browser open laat staan is de sessie na 5 minuten klaar.
De vraag is dan wat doe je bij een sessie van een jaar? Weer met een jaar vernieuwen?
Bij tweakers gaat dat niet omdat het poll script van het forum om de xx seconden checked of er nieuwe berichten in het topic zijn wat je open hebt staat.
Als je inderdaad bij elke request de sessie verlengt dan blijf je ingelogd als er inderdaad een polling script of iets in die trant loopt..

Ik zit vooral met het scenario: "Ik ben ergens 6 maanden geleden ingelogd, iemand opent de website op die pc/tablet/telefoon weer en is voor een jaar ingelogd zonder dat de oorspronkelijke gebruiker dat weet"

5 minuten is dan wel redelijk veilig die zijn vrij snel voorbij. Maar als de sessie langer is kan dit toch wel een uitdaging zijn.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 11-10 17:53

Janoz

Moderator Devschuur®

!litemod

ytterx schreef op maandag 27 juni 2016 @ 13:33:
Dat is ook een van de opties die ik aandraag, automatisch vernieuwen heeft het probleem dat iemand in theorie ongemerkt ingelogd kan blijven. Immers geef je (ook) aan de cookie mee wanneer die expired..
Hoe kan iemand ongemerkt ingelogd blijven? Die mag je even uitleggen. Als de sessie immers 5 minuten niet meer geupdate is zou hij immers niet meer geldig moeten zijn.

Het expire moment van de cookie zou trouwens niet relevant moeten zijn voor het moment waarop de server vindt dat je sessie niet meer geldig is. Het enige 'probleem' dat je daarbij zou moeten krijgen is dat je cookie eerder expired (en de gebruiker dus uitgelogd is voordat de server vindt dat de sessie niet meer geldig is).

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 10-10 08:02
ytterx schreef op maandag 27 juni 2016 @ 14:24:
[...]


De vraag is dan wat doe je bij een sessie van een jaar? Weer met een jaar vernieuwen?


[...]
Het wordt dan toch maximale sessie duur en niet minimale sessie duur?

Driving a cadillac in a fool's parade.


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 11-10 17:53

Janoz

Moderator Devschuur®

!litemod

ytterx schreef op maandag 27 juni 2016 @ 14:24:
[...]


De vraag is dan wat doe je bij een sessie van een jaar? Weer met een jaar vernieuwen?
ja
Als je inderdaad bij elke request de sessie verlengt dan blijf je ingelogd als er inderdaad een polling script of iets in die trant loopt..
Ja, tenzij je bij het polling script de 'last seen' niet update.
Ik zit vooral met het scenario: "Ik ben ergens 6 maanden geleden ingelogd, iemand opent de website op die pc/tablet/telefoon weer en is voor een jaar ingelogd zonder dat de oorspronkelijke gebruiker dat weet"

5 minuten is dan wel redelijk veilig die zijn vrij snel voorbij. Maar als de sessie langer is kan dit toch wel een uitdaging zijn.
Tja, hoe wil jij ooit het verschil gaan bepalen tussen een 'legitiem bezoek' en 'iemand die perongeluk de pagina opent op dat device'. Dat bestaat niet. Als dat een issue is, dan zul je de mogelijkheid tot een sessieduur van een jaar niet aan moeten bieden. Wat je aanbiedt is immers een 'blijf ingelogd zolang je 1x per jaar de pagina bezoekt'.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
ytterx schreef op maandag 27 juni 2016 @ 13:33:
Dat is ook een van de opties die ik aandraag, automatisch vernieuwen heeft het probleem dat iemand in theorie ongemerkt ingelogd kan blijven. Immers geef je (ook) aan de cookie mee wanneer die expired..
Je moet even twee dingen duidelijk onderscheiden:
  • Sessie cookie
  • Login cookie
Een sessie is een tijdelijk iets (php sessions bijvoorbeeld) en deze is geldig voor X minuten inactiviteit en/of je sluit je browser. In PHP is dit standaard 24 minuten.
Sessie data wil je ook niet lang op de server bewaren, is best zinloos om dit langer dan een uur te doen.

Een login cookie hoeft geen cookie te hebben (dan inlog data alleen in sessie en dus afhankelijk van die instellingen).
Gebruik je wel een cookie, dan kan je die 24 minuten (best zinloos want dat is sessie ook) tot oneindig instellen.

Als je na 6 maanden weer op de website komt logt hij in en slaat dat op in de sessie.

Stel, je vult een html formulier in en je doet daar langer over dan 24 minuten (bijvoorbeeld hier op het forum) en de sessie verloopt.
Je kan dan vriendelijk begroet worden met error (CSRF onbekend, session expired, etc. etc.).

De vraag is dus eigenlijk: wat wil je nu echt berijken?

[ Voor 4% gewijzigd door DJMaze op 27-06-2016 14:47 ]

Maak je niet druk, dat doet de compressor maar


Acties:
  • 0 Henk 'm!

  • ytterx
  • Registratie: Januari 2009
  • Laatst online: 03-10 22:47
DJMaze schreef op maandag 27 juni 2016 @ 14:47:
[...]
De vraag is dus eigenlijk: wat wil je nu echt berijken?
Dat gebruikers automatisch ingelogd zijn binnen een door hun gekozen sessie periode.
Daarbij rekening houdend dat gebruikers niet uitloggen terwijl ze dat wel zouden moeten doen.

Daarbij komen we dus op een paar vragen:
Welke maximale lengte voor vernieuwing van de sessie zouden jullie aanbieden?
Zouden/Bieden jullie een maximale lengte in totaal voordat er opnieuw ingelogd moet worden?

Ik ben in ieder geval nu van plan om de sessie automatisch te verlengen, dat wil zeggen:
Na laatste activiteit, tijd + ingestelde sessie duur = eind tijd sessie, tenzij nieuwe activiteit.
En de maximaal toegestaande periode op een maand te houden.

Acties:
  • 0 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
ytterx schreef op maandag 27 juni 2016 @ 15:18:
Dat gebruikers automatisch ingelogd zijn binnen een door hun gekozen sessie periode.
Daarbij rekening houdend dat gebruikers niet uitloggen terwijl ze dat wel zouden moeten doen.
Zie de http://php.net/manual/en/function.setcookie.php "expire" optie.
ytterx schreef op maandag 27 juni 2016 @ 15:18:
Welke maximale lengte voor vernieuwing van de sessie zouden jullie aanbieden?
Dat is per website verschillend, maar als je eens per half jaar een website bezoekt en reeds ingelogged bent krab je je vast achter je oren hoe dat nou kan (laat staan dat je het wachtwoord weet, voorbeeld: DigID?).
Frequent bezoekers zijn meer geneigd dit te willen en zijn er rustig eens per week. Neem een lange vakantie van 3 weken in acht en de standaard is eigenlijk een maand inactiviteit.
ytterx schreef op maandag 27 juni 2016 @ 15:18:
Zouden/Bieden jullie een maximale lengte in totaal voordat er opnieuw ingelogd moet worden?
Bij DigID moet ik eens per 3 maanden inloggen, mijn wachtwoord manager onthoud dat voor mij.
Ik vind het niet erg om elke keer in te loggen.
ytterx schreef op maandag 27 juni 2016 @ 15:18:
Ik ben in ieder geval nu van plan om de sessie automatisch te verlengen, dat wil zeggen:
Na laatste activiteit, tijd + ingestelde sessie duur = eind tijd sessie, tenzij nieuwe activiteit.
En de maximaal toegestaande periode op een maand te houden.
Prima idee als jij en je bezoekers er tevreden mee zijn.

P.S. Ik heb die instellingen bij Tweakers nog nooit gezien eigenlijk en kan ze nu nog niet vinden.
Blijkbaar totaal niet interessant voor mij 8)7

[ Voor 4% gewijzigd door DJMaze op 27-06-2016 21:41 ]

Maak je niet druk, dat doet de compressor maar


Acties:
  • 0 Henk 'm!

  • ytterx
  • Registratie: Januari 2009
  • Laatst online: 03-10 22:47
Ja ik ben daar mee bekend :+
P.S. Ik heb die instellingen bij Tweakers nog nooit gezien eigenlijk en kan ze nu nog niet vinden.
Blijkbaar totaal niet interessant voor mij 8)7
Bij Tweakers is dat standaard verstopt achter een "linkje" de standaard is hier echter een jaar, dat is best lang.

Ik vind overigens 3 maanden erg lang bij DigID, al verschilt dat per persoon en situatie.

Maar bedankt voor je input :) ik kan teminste weer verder :9
Pagina: 1