PHP - Sessions

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

  • PHP - Sessions

    Hi,

    ich möchte mich bei euch mal genauers über die php-sessions informieren lassen, ich hab bisher schon die seiten von php.net durchgelesen,
    aber ich weiß nicht ob ich das so recht kapiert hab.

    Da ich bald eine Seite von mir online stelle, möchte ich sicher gehen, dass alles richtig funktioniert. Ich weiß, dass ihr mir die funktion meiner Seite nicht garantieren könnt,
    da ich euch ja sonst den kompletten code posten müsste, aber ich schreib jetzt einfach mal hier,
    wie ich das mit den Sessions verstanden habe und ihr könnt mir ja dann sagen das es passt oder, dass ich totalen mist gebaut hab

    Also:
    Auf der seite wo ich eine Session beginnen möchte hab ich das hier stehen:
    PHP-Code:
            // Dies ist auf meiner Login-seite, login.php!
            
    ....
            
    $benutzer $_POST["benutzerlogin"];

            
    ini_set('session.gc_maxlifetime'1200);
            
    session_save_path(Temp);
            
    session_start();
            
    $_SESSION['benutzer'] = $benutzer;
            .... 
    Auf den nächsten Seiten, die nur die eingeloggten User sehen dürfen, hab ich folgendes:
    PHP-Code:
            if(isset($_SESSION['benutzer']))
            {
                 
    // 'geschützter' Seiteninhalt den nur eingeloggte User sehen dürfen
                 // Funktionalitäten der Seite usw...
            

    Ist das so richtig, oder ist da ne dicke dicherheitslücke? Also funktionieren tut es, habs via Xampp getestet.

    Sind die Sessions so wie ich sie hier gepostet hab auch für mehrere benutzer auf meiner Seite, richtig funktionsfähig?

    Meine letzte Frage zu den temporären Session-dateien:
    Werden diese irgendwann mal gelöscht oder müllt es den webspace zu? habs mal beobachtet, da kommen immer mehr dazu aber verschwinden nicht wirklich.
    Ich hatte bei den ini-Einstellungen mal folgendes:
    PHP-Code:
            ini_set('session.gc_probability'100);
            
    ini_set('session.gc_divisor'100);
            
    ini_set('session.gc_maxlifetime'5); 
    Aber das war nix, da wurde ich dann wenn ich mit 2 verschiedenen Browsern auf meiner seite mit 2 verschiedenen Usern angemeldet war,
    immer mit dem anderen rausgeschmissen wenn ich mich mit dem einen angemeldet habe.
    Deshalb hab ichs dann auch wieder so gelassen wie es ganz oben schon steht.

    Jetzt bin ich halt verunsichert, weil wenn ich die Seite online stelle will ich natürlich, dass mehrere User gleichzeitig sich einloggen sowie andere aktionen auf der seite erfolgreich durchführen können,
    ohne das die andern user rausgeschmissen werden.

    Ich wäre eich echt tierisch Dankbar, wenn ihr mir sagen könntet, ob das so ok ist oder nicht.

    MfG Manalishi

  • #2
    Ist aber leider kein SQL-Problem, daher * verschieb *.

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Ist das so richtig, oder ist da ne dicke dicherheitslücke?
      Kann man pauschal nicht beantworten, da man nicht weiß, unter welchen Bedingungen der Username in der Session geschrieben wird und unter welchen nicht.

      Wenn du dich an unser Tutorial (Usermanagement) hältst, und es entsprechend umgesetzt hast, dann bist du ziemlich sicher.

      Meine letzte Frage zu den temporären Session-dateien: Werden diese irgendwann mal gelöscht oder müllt es den webspace zu?
      Dafür gibt es den Garbage-Collector. Dessen Funktion ist dokumentiert.

      BTW: Definierst du die Konstante Temp irgendwo?

      Kommentar


      • #4
        @ Kropff

        Ja tut mir leid, habs erst bemerkt als ich den Post schon verschickt, bzw. Abgespeichert habe
        Ich war zuvor in dem SQL-Datenbanken Forum-teil am lesen, deshalb iss mir das ungeschickter weise passiert. Sorry.

        @TobiaZ

        Der Benutzername wird erst dann in die Session geschrieben wenn sich der benutzer registriert hat und dann alle Felder bei dem Login-Fenster richtig ausgefüllt hat.

        "Temp" ist ein Ordner welchen ich zum testen mal in Xampp verzeichnis (..xampp/htdocs/Temp) angelegt habe.

        Dieses Tutorial zu den Sessions von diesem Forum kenne ich bisher noch nicht, habe mir aber schon einige verschiedene tutorials ausm netz genau angeschaut, aber da ja ziemlich viel unsinn verbreitet wird, kann man nie sicher sein obs so sicher ist und gut funktioniert.

        Danke für die bisherige Hilfe

        MfG Manalishi

        Kommentar

        Lädt...
        X