Avatar billede hoppe11 Nybegynder
21. juli 2009 - 09:15 Der er 7 kommentarer og
1 løsning

Firefox gemmer session

jeg har to sider hvor Firefox åbenbart kan genbruge samme session efter man har lukket browseren ned og åbner igen.. det er måske ikke helt hensigtsmæssigt

eneste umiddelbare forskel jeg lige kan komme i tanke om er at den nye side loades session_id() ind i en af mine _SESSION variabler

hvad kan man gøre for at en browser efter den har været lukket kan genbruge samme session_id()?
Avatar billede hoppe11 Nybegynder
21. juli 2009 - 09:16 #1
- altså.. ved den ene og ældre side kan Firefox ikke genbruge samme session
Avatar billede repox Seniormester
21. juli 2009 - 09:19 #2
Når du siger 'to sider' mener du så to domæner eller bare to sider på samme domæne?
Avatar billede hoppe11 Nybegynder
21. juli 2009 - 09:21 #3
nej, jeg nævnte det bare fordi det kun er den ene side hvor firefox kan genbruge session.. synes det virker lidt underligt

firefox må selvfølgelig ikke have den mulighed..

hvad kan man gøre for at det ikke kan lade sig gøre?
Avatar billede repox Seniormester
21. juli 2009 - 09:46 #4
Hvad svarer du nej til? Er de to sider du tester på samme domæne?

Uanset, så er det ikke til at sige hvad det er du oplever - du lægger op til en gætteleg, når vi ikke ser nogen kode eller har mulighed for at teste om det kun er dig der oplever det eller vi andre også gør.
Avatar billede hoppe11 Nybegynder
21. juli 2009 - 10:25 #5
hvordan kan man undgå at Firefox genbruger samme session efter browseren har været lukket ned, fordi det er ikke særligt hensigtsmæssigt at næste gang browseren åbnes at man igen er logget på...

jeg har så to vidt forskellige sider hvor den ene ikke genbruger sessions og den anden gør.. eneste forskel jeg umiddelbart kan komme på er at den som genbruger sessions har session_id() tildelt i en _SESSION var

den side som genbruger session:
----------------------------------
if(!$_SESSION['sid'])
{
    _log_hit();
   
    $_SESSION['sid'] = session_id();
}
$SID = $_SESSION['sid'];

if($UID = $_SESSION['uid'])
{
    $sql = "SELECT user.*, user_att.*
        FROM $DB.user user
        LEFT JOIN $DB.user_att user_att ON user_att.user_id=user.id
        WHERE user.id='$UID'";
    $get = mysql_query($sql);
    if(!$USER_ARR = mysql_fetch_assoc($get)) php_end('index.php?logoff');
   
    if($_SESSION['mod']) $MOD = 1;
}
-------------------------------------

side som ikke genbruger:
------------------------------------
if(!$_SESSION['log_hit'])
{
    $_SESSION['log_hit'] = 1;
}

if($USERID = $_SESSION['userid'])
{
    $sql = "SELECT user.*, user_attrib.*
        FROM $DB.user user
        LEFT JOIN $DB.user_attrib user_attrib ON user.id=user_attrib.user_id
        WHERE id='$USERID'";
    $get = mysql_query($sql);
    if(!$USER = mysql_fetch_assoc($get))
    {
        $_SESSION['userid'] = 0;
       
        php_end();
    }
   
    if($_SESSION['mod'] && ($USER['att_admin'] || $USER['att_mod'])) $MOD = 1;
}
-------------------------------------
Avatar billede gbjensen65 Nybegynder
21. juli 2009 - 10:47 #6
Nu ved jeg ikke om det er et tilfælde, men hvis du ønsker at teste om $USERID er lig med $_SESSION['userid'] så skal du skrive:
if($USERID == $_SESSION['userid'])
ellers stætter du $USERID = $_SESSION['userid'] og tester om $_SESSION['userid'] er >=1
Avatar billede hoppe11 Nybegynder
21. juli 2009 - 11:19 #7
jeg skal også sætte $USERID og samtidig checke om den er true :)
Avatar billede hoppe11 Nybegynder
23. juli 2009 - 10:09 #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