Vraag & Antwoord

Webprogrammeren & scripting

"Tijdmarge" in MySQL bij datetime column

2 antwoorden
  • Hallo, Omdat mijn hostingprovider ivm. veiligheidsoverwegingen geen ondersteuning biedt voor session-management met perl/cgi-bin als communicatietaal heb ik het idee achter de session-management zelf geprogrammeerd. Zo wordt bij elke inlog-sessie een sessionid aangemaakt en opgeslagen in een database met tevens een text-column voor de zgn. hashes met de informatie mbt. die sessie (oa. de bij de sessie horende gebruikersnaam). Wat de Apache::Session module echter nog meer verzorgd is het sluiten van een sessie. Nu is mijn vraag of een van jullie een oplossing weet voor het sluiten van zo'n sessie (wanneer de gebruiker niet volgens de reguliere weg uitlogt). Zelf zat ik te denken aan het toevoegen van een datetime column en de geldigheid van een session-id te beperken tot bijv. 3 tot 4 uur. Hiervoor heb ik dan de in het onderwerp genoemde "tijdmarge" voor nodig. De volgende query zou dan alleen de records moeten selecteren die dezelfde tijd hebben of drie uur minder: [code:1:e9a61c1d40] $sth = $dbh->prepare(qq(select sessionid from sessionid where sessionid="$checksessionid" and sessiondatetime=NOW())) or dienice("Can't select from table: ", $dbh->errstr); [/code:1:e9a61c1d40] is er een code die dit mogelijk maakt? Ik hoop dat het verhaal helder genoeg is. Alvast bedankt! Sebastiaan.
  • Kan je niet een cookie met het sessieID naar de gebruiker sturen die 0 seconden geldig is? Deze wordt dan op het moment dat de browser gesloten wordt verwijderd en als je dus even checkt of het cookie bestaat kun je zien of de sessie nog actief is. Zo werkt "normale" sessiemanagement ook ongeveer...

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.