Avatar billede sjh Nybegynder
13. februar 2007 - 15:50 Der er 8 kommentarer og
2 løsninger

timeout af session

Jeg har et problem med timeout af session.. kan ikke få det til at virke..
Problemet er at den automatisk skal stoppe session hvis en bruger har været inaktiv i 15 minutter eller mere..


Har prøvet med dem her uden held.. :(

  php_value session.timeout "10"
  php_value session.cache_expire "10"
  php_value session.gc_maxlifetime "10"

Kun den her virker.. men, den forsætter ikke hvis man opdater siden.. :(

  php_value session.cookie_lifetime "10"


Lige nu gør jeg såden :

# .htaccess

<IfModule mod_php4.c>
  php_value auto_prepend_file "d:\...\...\...\...\global_include.php"
  php_value session.auto_start "1"
</IfModule>

# .htaccess


/* global_include.php */

  if (isset($_SESSION["SESSION_TIMEOUT"])) {
    if ($_SESSION["SESSION_TIMEOUT"] < time()) {
      foreach($_SESSION as $Key => $Value) {
        unset($_SESSION[$Key]);
      }
    }
  }
  $_SESSION["SESSION_TIMEOUT"] = time()+900; /* 900 = 15 minutter*/

/* global_include.php */
Avatar billede kinderaeg Nybegynder
13. februar 2007 - 16:12 #1
session.gc_maxlifetime skulle gerne virke. Dog skal du være opmærksom på, at cookien ikke forsvinder automatisk, efter den tid, du skal tage højde for session.gc_probability (der sammen med session.gc_divisor styrer hvor tit der rydes op), så hvis du leger på en side med få besøgende, kan det være en god idé at sætte tallet (session.gc_probability / session.gc_divisor) tæt på en, så oprydningen sker oftere.
Avatar billede sjh Nybegynder
13. februar 2007 - 16:16 #2
så lad og sige at den skal ryde op når der er gået 15 minutter.. hvordan skal det så se ud i min .htaccess-file ??
Avatar billede kinderaeg Nybegynder
13. februar 2007 - 16:25 #3
Så skal du, hvis du vil være sikker på oprydning, sætte session.gc_probability og session.gc_divisor til den samme værdi, men det er jo stadig ikke en garbage-collector der kører på serveren, men kun hver gang en bruger åbner en side der aktiverer koden, og hvis du kigger i biblioteket med dine session-cookies, forsvinder de ikke, før en browser har aktiveret oprydningen (hvilket så vil gøre at der oprettes en ny cookie). Det du skal gøre er evt at holde øje med navnet på cookien eller indholdet af den.
Avatar billede sjh Nybegynder
13. februar 2007 - 16:39 #4
kan ikke få det til at virke...

  php_value session.gc_probability "60"
  php_value session.gc_divisor  "60"
  php_value session.cookie_lifetime "15"

er det sådan??
Avatar billede kinderaeg Nybegynder
14. februar 2007 - 09:01 #5
php_value session.gc_maxlifetime "15"

i stedet for

php_value session.cookie_lifetime "15"
Avatar billede sjh Nybegynder
14. februar 2007 - 12:30 #6
syntes ikke jeg kan få det til at virke.. jeg dropper det.. smid et svar kinderaeg.. så bruger jeg bare den gamle model..
Avatar billede kinderaeg Nybegynder
14. februar 2007 - 12:45 #7
Hvis du ikke har fået løst dit problem, så tag pointene selv ;)
Avatar billede sjh Nybegynder
14. februar 2007 - 12:52 #8
okææ så lad os dele dem, smid et svar
Avatar billede kinderaeg Nybegynder
14. februar 2007 - 14:37 #9
Takker
Avatar billede sjh Nybegynder
14. februar 2007 - 14:48 #10
selv tak :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester