Ankündigung

Einklappen
Keine Ankündigung bisher.

Session Hijacking Verständnisfrage

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Session Hijacking Verständnisfrage

    Hallo,

    ich bin gerade dabei ein Loginscript zu programmieren. Ich versuche da mit äußerste Vorsicht dran zu sehen und habe bezüglich dem Session hijacking ein paar Fragen.

    Ich hatte mal gelesen das man die Session nicht bei jedem Seitenaufruf neu generieren soll. Es reicht nach jedem Login. Wenn ich mich allerdings per Cookie automatisch einlogge wäre es doch nach jedem Seitenaufruf?

    Desweiteren habe ich das Problem das mein Sessionordner sehr schnell sehr voll werden kann, da alte Sessiondateien nicht gelöscht werden. Hier mal ein Codeteil aus meinem Konstruktor.

    PHP-Code:
    if (!empty($strSessionPath))
        {
            
    session_save_path($strSessionPath);
        }

        if (!empty(
    $strSessionName))
        {
            
    session_name($strSessionName);
        }

        if (!
    session_start())
        {
            throw new 
    Exception('Session konnte nicht gestartet werden!');
        }

        
    $strOldSessionId session_id();

        if (!empty(
    $strOldSessionId))
        {
            
    session_regenerate_id();
        } 
    Die Klasse Session ist ein Singleton. Der Konstruktor wird pro Seitenaufruf also nur einmal aufgerufen. Nachdem die Session gestartet worden ist, wird die ID neu generiert, die alten Datein bleiben allerdings bestehen.

    Wenn ich bei "session_regenerate_id" den Parameter "true" mit übergeben werden alle Dateien gelöscht, ich habe dann keine Sessiondatei mehr in meinem Ordner.

    Vielleicht kann mich mal genau darüber aufklären wann man die ID neu generiert und wie man die alten Datein evtl. gelöscht bekommt.

    Benny


  • #2
    Zitat von stayInside Beitrag anzeigen
    Ich hatte mal gelesen das man die Session nicht bei jedem Seitenaufruf neu generieren soll. Es reicht nach jedem Login. Wenn ich mich allerdings per Cookie automatisch einlogge wäre es doch nach jedem Seitenaufruf?
    Du verwechselst den tatsächlichen Vorgang eines Logins mit der schlichten Wiederaufnahme der Session im nachfolgenden Request.

    Desweiteren habe ich das Problem das mein Sessionordner sehr schnell sehr voll werden kann, da alte Sessiondateien nicht gelöscht werden.
    Hast du einen eigenen Handler zur Ablage der Session-Daten implementiert, oder nutzt du den Default-Mechanimus von PHP?
    Wenn letzteres, sollte der Garbage Collector alles nötige automatisch für dich machen. Wie lauten die den betreffenden Einstellungen?

    Hier mal ein Codeteil aus meinem Konstruktor.
    K.A., welche Erkenntnisse ausgerechnet dieser Codeschnippsel jetzt in Bezug auf das Problem bringen soll.


    Vielleicht kann mich mal genau darüber aufklären wann man die ID neu generiert und wie man die alten Datein evtl. gelöscht bekommt.
    Dazu gibt's schon einiges an guter Lektüre im Netz, bitte erst mal selber informieren - als Beispiel hier mal schnell aus meinen Bookmarks was recht umfangreiches zum generellen Thema Sessions in PHP und Sicherheit: Session-Angriffe - eine Analyse an PHP | PHP Application and Website Defense


    Vielleicht solltest du vorher aber noch mal dein Grundlagenwissen über Sessions etwas auffrischen, denn zwischen den Zeilen lese ich heraus, dass da vermutlich noch einige Unklarheiten bestehen.

    Kommentar

    Lädt...
    X