Toon posts:

[ASP] Session oneindig lang, of gebruiker waarschuwen?

Pagina: 1
Acties:
  • 153 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Zit nou al een tijdje te twijfelen,

wat kan je nou het beste gebruiken voor een webbased backed?

gebruikers moeten veel gegevens invoeren, aanpassen ed. Het zou dus wel eens voor kunnen komen dat gegevens opgezocht moetne worden. Als je dus even weg loopt van je computer en je sessie verloopt, kun je vrolijk opnieuw beginnen.

moet je gebruikers waarschuwen dat hun sessie binnen xx minuten verloopt? Wanneer laat je zo'n boodschap dan zien?

of moet je sessie's oneindig lang laten duren? Zeg 3 - 5 uur? Dat dit weer nadelen voor de server (geheugen) heeft snap ik ook wel.

Wat is wijsheid?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 27-04 18:17

gorgi_19

Kruimeltjes zijn weer op :9

Evt. kan je het gebruik van cookies overwegen.. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Batsies
  • Registratie: Mei 2002
  • Laatst online: 27-01-2022

Batsies

E-Developing

Is het mogelijk om misschien de sessie te laten zien als die over 5 minuten verloopt en dan een button om sessie te verlengen (ik weet niet of dit mogelijk is)

[ Voor 0% gewijzigd door Batsies op 05-09-2003 14:38 . Reden: Wacht op expert Gorgi_19 ]

E-Developing


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 12:48

TeeDee

CQB 241

Volgens mij krijg je dan een verhaal met Timer. (of datum/tijd verschil) maar dan kom je toch bij een koekje terecht imho (of db, maar dat is te)

Ik ben nog nooit tegengekomen dat je de huidige duur van je sessie kan weergeven.

Heart..pumps blood.Has nothing to do with emotion! Bored


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 27-04 18:17

gorgi_19

Kruimeltjes zijn weer op :9

TeeDee schreef op 05 September 2003 @ 14:38:
Ik ben nog nooit tegengekomen dat je de huidige duur van je sessie kan weergeven.
Is niet zo moeilijk...

Response.Write Session.SessionTimeOut (of hoe die ook al weer heette) en een Javascript tellertje laten meelopen.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
kijk het zijn te veel, te verschillende en te grote stukken data om het op te slaan in een cookie.

Bovendien is een cookie minder geschikt om userid/clientid op te slaan

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 12:48

TeeDee

CQB 241

gorgi_19 schreef op 05 September 2003 @ 14:47:
[...]
Is niet zo moeilijk...
Response.Write Session.SessionTimeOut (of hoe die ook al weer heette) en een Javascript tellertje laten meelopen.
Dat wel, maar alleen op basis van een stukkie asp code.

Hell, als je erover nadenkt:

Beetje kutten met Session_ONstart, Timeout e.d. moet het volgens mij wel te frutselen zijn.

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 29-04 08:14

Janoz

Moderator Devschuur®

!litemod

Ik denk niet dat het een probleem is om de sessie timout op 4 uur te zetten oid. Dat is meer dan genoeg om een werkdag te overleven. Een sessie kost in principe alleen maar wat HD ruimte. Zeker als deze een tijdje niet wordt gebruikt (mensen die eigenlijk uitgelogd zouden moeten zijn). Ik denk niet dat het een heel grote invloed op performace zou hebben en het is een erg simpele oplossing.

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


Verwijderd

ten eerste neem ik aan dat je een webbased frontend bedoelt.. data opslaan in webpage lijkt me nogal lastig :P

Maarreh.. hoe belangrijk is je veiligheid? Je kan natuurlijk de duur van een sessie verlengen (tot 2 of 3 uur ofzo) en de gebruiker dwingen uit te loggen.. tevens mogen ze dan eigenlijk ook niet hun werkplek verlaten.. maar goed. Of je kan de authenticatie zonder sessie oplossen, en de loginID meegeven met POST (hidden field in een form).

Ik neem aan dat LoginID zo'n beetje het enige is wat je in die sessie wilt opslaan.. zoveel geheugen zal dat dus nie innemen op je webserver.. tenzij je meer dan 10000 gebruikers heb ofzo

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 14:24
Je kunt toch in JS gewoon een timertje laten lopen bijn de actie onLoad, dan kun je in een verborgen fram, een popup of weet-ik-veel-wat een eenvoudige pagina laden en dan is je session time-out weer voor een tijdje zoet. Zo weet je tenminste zeker dat je sessie wel wordt afgesloten, want er is wel degelijk een session-time-out. Er is echter geen gevaar dat het gebeurt als de gebruiker gewoon even wegloopt, want dan staat zijn browser nog open.

Verwijderd

ja maar dan kan jan en alleman en wie weet nog meer ook achter die pc gaan zitten...
daar zijn die sessies toch ook voor?

[ Voor 19% gewijzigd door Verwijderd op 05-09-2003 17:27 ]


  • slm
  • Registratie: Januari 2003
  • Laatst online: 12-11-2023

slm

Verwijderd schreef op 05 september 2003 @ 17:27:
ja maar dan kan jan en alleman en wie weet nog meer ook achter die pc gaan zitten...
daar zijn die sessies toch ook voor?
Nee. Bescherming van je pc en je loginaccount is met name zaak voor de gebruiker zelf. Waar ben je met een 99.999% waterdicht loginsysteem als je gebruiker een postit note met wachtwoord op zijn scherm heeft hangen? Of zoals jij aangeeft, wegloopt van zijn pc zonder zijn pc te locken?

To study and not think is a waste. To think and not study is dangerous.


  • Sendy
  • Registratie: September 2001
  • Niet online
Je maakt een functie, die tijdens de pagina submit controlleerd of de sessie verlopen is.
Als die verlopen is geef je een pagina waarop het wachtwoord gevraagd wordt. Ook zorg je dat de informatie die de vorige keer gesubmit is ergens op deze pagina staat (bijvoorbeeld in een hidden field).

Bij het submitten van het juiste wachtwoord wordt dan ook de rest van de informatie gesubmit. Klaar. Geen Javascript nodig, iedereen blij :)

[ Voor 6% gewijzigd door Sendy op 05-09-2003 18:41 ]


Verwijderd

Sendy schreef op 05 September 2003 @ 18:37:
Je maakt een functie, die tijdens de pagina submit controlleerd of de sessie verlopen is.
Als die verlopen is geef je een pagina waarop het wachtwoord gevraagd wordt. Ook zorg je dat de informatie die de vorige keer gesubmit is ergens op deze pagina staat (bijvoorbeeld in een hidden field).

Bij het submitten van het juiste wachtwoord wordt dan ook de rest van de informatie gesubmit. Klaar. Geen Javascript nodig, iedereen blij :)
ja bij een pagina met 1 of 2 formulieren is dit niet zo'n probleem...
Maar bij de sms portal die ik voor mijn werk heb gemaakt is dat echt een onbegonnen klus ......

je kan ook een javascript timer bouwen die bijvoorbeeld naar 20 minuten een melding geeft dat binnen 5 minuten de sessie verloopt ofzo... En als er binnen 5 minuten geen reactie vind automatisch uitloggen of e.d. maarja ook niet echt gebruikersvriendelijk... Maarja moeten ze ook maar niet zolang niks doen en wel ingelogd blijven })

  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 15-04 15:52
(jarig!)
standaard staat je sessie time out op 20 min. En dat gaat pas tellen als de gebruiker niets meer doet, maar ik neem aan de de gebruikers wel invoeren / klikken etc.

dus als je hem op een uur zet kom je al een heel eind.

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Mijn oplossing; een hidden frame wat herlaad elk uur en elke sessie na 61 minuten beindigen. Op die manier werkt het perfect.

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Verwijderd

Spider.007 schreef op 05 September 2003 @ 21:25:
Mijn oplossing; een hidden frame wat herlaad elk uur en elke sessie na 61 minuten beindigen. Op die manier werkt het perfect.
klopt, zoiets heb ik ook een keer gebouwd... werkt top!
Was het alweer helemaal vergeten :+ (Eens een muts....)

  • Sendy
  • Registratie: September 2001
  • Niet online
Verwijderd schreef op 05 September 2003 @ 20:19:
[...]


ja bij een pagina met 1 of 2 formulieren is dit niet zo'n probleem...
Maar bij de sms portal die ik voor mijn werk heb gemaakt is dat echt een onbegonnen klus ......

je kan ook een javascript timer bouwen die bijvoorbeeld naar 20 minuten een melding geeft dat binnen 5 minuten de sessie verloopt ofzo... En als er binnen 5 minuten geen reactie vind automatisch uitloggen of e.d. maarja ook niet echt gebruikersvriendelijk... Maarja moeten ze ook maar niet zolang niks doen en wel ingelogd blijven })
Waarom zou dat niet werken? Je kan toch redelijk automatisch de informatie van de vorige submit in de nieuwe pagina opnemen? Desnoods gecodeerd om maar 1 hidden veld nodig te hebben.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12:26

curry684

left part of the evil twins

Batsies schreef op 05 September 2003 @ 14:35:
Is het mogelijk om misschien de sessie te laten zien als die over 5 minuten verloopt en dan een button om sessie te verlengen (ik weet niet of dit mogelijk is)
Exact wat Girotel Online doet, maar dan met 3 minuten. Mogelijk dus :P

Professionele website nodig?


Verwijderd

Topicstarter
Spider.007 schreef op 05 September 2003 @ 21:25:
Mijn oplossing; een hidden frame wat herlaad elk uur en elke sessie na 61 minuten beindigen. Op die manier werkt het perfect.
maar dan heb je alsnog een oneindige sessie...
standaard staat je sessie time out op 20 min. En dat gaat pas tellen als de gebruiker niets meer doet, maar ik neem aan de de gebruikers wel invoeren / klikken etc.
Die begint te tikken na de laatste server side actie, klikken & tikken zijn client side actie dus die beinvloeden de sessie niet. Tenzij je een pagina herlaad, want dan wordt er weer een serverside actie uitgevoerd.

Ik kan wel zoiets maken dat bij onChange een hidden frame herlaadt, zo blijt de sessie xx minuten duren *na* de laatste tik/klik

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Batsies schreef op 05 September 2003 @ 14:35:
Is het mogelijk om misschien de sessie te laten zien als die over 5 minuten verloopt en dan een button om sessie te verlengen (ik weet niet of dit mogelijk is)
Natuurlijk; die button heeft dan als enige functie om een reload te triggeren en daarme de sessie levend te houden
Verwijderd schreef op 06 September 2003 @ 12:52:
[...]
maar dan heb je alsnog een oneindige sessie...
Niet dus; als de gebruiker zijn browser afsluit vindt er geen reload plaats en wordt de sessie afgekapt.
[...]
Die begint te tikken na de laatste server side actie, klikken & tikken zijn client side actie dus die beinvloeden de sessie niet. Tenzij je een pagina herlaad, want dan wordt er weer een serverside actie uitgevoerd.

Ik kan wel zoiets maken dat bij onChange een hidden frame herlaadt, zo blijt de sessie xx minuten duren *na* de laatste tik/klik
Dat is dus preciew wat ik zeg 8)7 (alleen jij wil dit frame door een useractie laten verversen?) Dat is niet erg slim; je kunt er vanuit gaan dat elke actie van de gebruiker (tikken en klikken) serverside aankomen en dus de sessie levend houden.

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Verwijderd

Topicstarter
Dat is dus preciew wat ik zeg (alleen jij wil dit frame door een useractie laten verversen?) Dat is niet erg slim; je kunt er vanuit gaan dat elke actie van de gebruiker (tikken en klikken) serverside aankomen en dus de sessie levend houden.
Een sessie eindigt ook als de browser wordt gesloten als ik me niet sterk vergis, dus in dat opzicht is er niet zo veel verschil volgens mij

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 27-04 18:17

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 06 September 2003 @ 14:35:
[...]
Een sessie eindigt ook als de browser wordt gesloten als ik me niet sterk vergis,
Je vergist je. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Apollo_Futurae
  • Registratie: November 2000
  • Niet online
Spider.007 schreef op 06 September 2003 @ 14:23:
je kunt er vanuit gaan dat elke actie van de gebruiker (tikken en klikken) serverside aankomen en dus de sessie levend houden.
bij het invoeren van grote hoeveelheden gegevens hoeft dit helemaal niet het geval te zijn: de gebruiker klikt af en toe een ander veld aan en typt wat in, zonder een andere pagina op te vragen.

Pas de replâtrage, la structure est pourrie.

Pagina: 1