[PHP] problem mit sessions

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Ragnaroek, 18. November 2008 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 18. November 2008
    problem mit sessions

    Hallo liebe Community!

    Ich habe ein kleines Problem mit Sessions.

    Und zwar:

    Ich habe meine index.php, in der ich als erstes eine session mit session_start(); starte. Alles kein Problem.

    Nun möchte ich die SessionID in $_SESSION['s_id'] = session_id(); speichern.
    Eigentlich dürfte sich die SessionID ja nicht ständig erneuern, richtig?

    ich habe zur Sicherheit noch eine kleine Funktion geschrieben:
    PHP:
    session_start ();

    function 
    checkSession ()
    {
            if(!isset(
    $_COOKIE [ 'session' ]))
            {
                    
    session_regenerate_id ();
                    
    setcookie ( "session" session_id (),  time ()+ 60 * 60 );
                    return 
    session_id ();
            }
            else
            {
                    return 
    session_id ();
            }
    }

    $_SESSION [ 's_id' ] =  checkSession ();
    Wobei die Funktion in einer anderen Datei liegt... die wird mittels include eingebunden

    Dadurch wäre die Session für 1 Stunde aktiv und gültig. Danach wird eine neue Session generiert. Das wäre die Logik dahinter...

    Ich habe allerdings das Problem, dass mein Cookie zwar gesetzt wird und die session_id() hineingeschrieben wird, aber mit jedem Aufruf der index.php die SessionID erneuert wird.

    Also:
    1. Aufruf: 5aea38dc4296eb2cfbae552d50b59314 -> Cookie: 5aea38dc4296eb2cfbae552d50b59314
    2. Aufruf (F5): 4e840a7e525b4eafa1e32665df7254a1 -> Cookie: 5aea38dc4296eb2cfbae552d50b59314
    ...

    Hoffe ihr wisst was ich meine.

    Weiß jemand woran das liegen könnte?

    Wenn ich das session_regenerate_id() auskommentiere, hat das keinen Effekt, außer der Cookie ist abgelaufen (ist ja auch logisch )

    Vielen Dank - BW gehen raus!

    Gruß
    Rag


    Nachtrag:
    Nachtrag:
    Ich habe mal wo gelesen, dass man folgendes verwenden sollte, wenn man mit Session arbeitet um die Sicherheit zu erhöhen:
    PHP:
    //Sicherheitsvorkehrungen
    ini_set ( 'display_errors' 'On' ); 
    ini_set ( 'session.cookie_secure' true );
    ini_set ( 'session.use_cookies'      , 1 );  // sicherlich!!
    ini_set ( 'session.use_only_cookies' , 1 );  // JA! Ohne Cookies geht hier nix!!
    ini_set ( 'session.use_trans_sid'    , 0 );  // bloss nicht auf 1 setzen 
    Braucht man das wirklich?
     
  2. 18. November 2008
    AW: problem mit sessions

    Aktzepierst du Cookies in deinem Browser? Sonst kann ja auch keiner gesetz werden, dass könnte eine Lösung sein, wenn ich das Problem richtig verstehe
     
  3. 18. November 2008
    AW: problem mit sessions

    klingt blöd, aber das scheint echt dein fehler zu sein, bei mir jedenfalls wird immer die gleiche SID angezeigt wenn ich sie einfach ausgeben lasse (Opera).
     
  4. 18. November 2008
    AW: problem mit sessions

    1. verwende session_name()
    2. was bringt dir die session-id in ner session-var? (die eh nur anhand der session-id erstellt wird)
    3. du suchst PHP: session_set_cookie_params - Manual (siehe erster param)
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.