Avatar billede hoppe11 Nybegynder
06. august 2009 - 15:33 Der er 7 kommentarer og
1 løsning

session expire i Firefox

hvordan kan jeg undgå at Firefox kan genbruge sessions flere timer efter session'en sidst har været brugt?
Avatar billede repox Seniormester
06. august 2009 - 15:39 #1
Det må du uddybe.
Hvordan oplever du at firefox kan genkende din session i flere timer efter?
Avatar billede hoppe11 Nybegynder
06. august 2009 - 15:39 #2
må hellere lige tilføje at session_cache_expire() er 180..

jeg kan åbne Firefox næste dag hvor den genopretter sessions og jeg er igen logget på? burde jo ikke være muligt
Avatar billede hoppe11 Nybegynder
06. august 2009 - 15:44 #3
if(!$_SESSION['sid']) $_SESSION['sid'] = session_id();
$SID = $_SESSION['sid'];

if($UID = $_SESSION['uid'])
{
    $sql = "xxx";
    $get = mysql_query($sql);
    if(!$USER_ARR = mysql_fetch_assoc($get))
    {
        unset($_SESSION['uid']);
        php_end('index.php?logoff');
    }
   
    $get = mysql_query("SELECT ext_section, ext_key, ext_value FROM $DB.user_ext WHERE user_id='$UID'");
    while($row = mysql_fetch_assoc($get)) if($INI_ARR[$row['ext_section']][$row['ext_key']]) $INI_ARR[$row['ext_section']][$row['ext_key']] += $row['ext_value'];
   
    if($_SESSION['mod'] && ($USER_ARR['att_admin'] || $USER_ARR['att_mod'])) $MOD = $INI_ARR['_system']['mod_uid'];
}
Avatar billede hoppe11 Nybegynder
06. august 2009 - 15:45 #4
hov.. der kom lidt overflødig kode med:

if(!$_SESSION['sid']) $_SESSION['sid'] = session_id();
$SID = $_SESSION['sid'];

if($UID = $_SESSION['uid'])
{
    $sql = "xxx";
    $get = mysql_query($sql);
    if(!$USER_ARR = mysql_fetch_assoc($get))
    {
        unset($_SESSION['uid']);
        php_end('index.php?logoff');
    }
}
Avatar billede jenz3n Nybegynder
06. august 2009 - 18:39 #5
Det er desværre ikke noget jeg selv har leget med, men jeg skulle da helt sikkert mene det er muligt at sætte levetiden gennem php.ini eller en anden konfigurations fil (.htaccess måske).
Har du prøvet at smide: session.cookie_lifetime = 300 i din php.ini eller .htaccess?
Avatar billede repox Seniormester
06. august 2009 - 22:38 #6
Jeg kunne godt tænke mig at vide hvordan du konstaterer at din session er den samme?
For mig ser det ud som om du har lavet en operatorfejl i en af dine if()

Denne stump:
if($UID = $_SESSION['uid'])
{
    $sql = "xxx";
    $get = mysql_query($sql);
    if(!$USER_ARR = mysql_fetch_assoc($get))
    {
        unset($_SESSION['uid']);
        php_end('index.php?logoff');
    }
}
vil altid blive eksekveret. I din første if() sætter du $UID til at være $_SESSION["uid"] hvilket altid, i en if(), returnerer sandt. Hvis du ville sammenligne, har du dermed din fejl.
Avatar billede olebole Juniormester
08. august 2009 - 15:31 #7
<ole>

Helt enig med repox - ud over, at sessions jo kører på serveren og ikke som sådan har noget med browseren at gøre. Det betyder, at IE må have opført sig på samme måde  =)

/mvh
</bole>
Avatar billede hoppe11 Nybegynder
31. oktober 2010 - 09:03 #8
lukker
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