![]() Mailinglisten-Archive |
Hallo Ralf, > 1a) Der Session Cookie ist nur f�r Dauer der Sitzung g�ltig. > > 1b) Der Session Cookie ist auch nach dem Schlie�en des Browsers > weiterhin g�ltig. das kommt ganz auf den Einsatzzweck an. Normalerweise reicht 1a) aus. Doch gelegentlich m�chte man ja eine "remember my login"-Funktionalit�t einbauen (1b) > 2a) Wenn der Session Cookie nicht akzeptiert wird, wird die Session ID > an alle Links eurer Seite angeh�ngt (IMHO gro�es > Sicherheitsproblem). > > 2b) Wenn der Session Cookie nicht akzeptiert wird, gibt es keine > Alternative. Zum Einloggen ist somit zwingend ein Cookie zu > akzeptieren Kommt wiederum drauf an. Da ich Sessions grunds�tzlich nur dann einsetze, wenn sie gebraucht werden (siehe auch n�chster Abschnitt) lasse ich keine SIDs an die URL ran. Da musst du halt mit dir vereinbaren, wie sicherheitskritisch die Anwendung ist. Bei meinem Online-Banking w�rde ich angehangene SessionIDs als schweren Fehler einstufen - wenn es sich nur um ein kleines Forum handelt mag das gehn. > 3a) Jeder Besucher der Seite bekommt immer einen Session Cookie > zugeteilt. > > 3b) Es werden nur Session Cookies verteilt, wenn sie wirklich notwendig > sind. Ich nenne es mal den Ansatz der Cookie-Sparsamkeit. Wie schon oben beschrieben Sessions nur dann, wenn auch n�tig (Login-Bereich). Dann leuchtet dem Nutzer der Grund f�r das Cookie auch ein. > 2. Ist der Ansatz der Cookie-Sparsamkeit mit dem in PHP integrierten > Session Handling �berhaupt realisierbar? Bei session_start() wird > ja immer eine Session erstellt und ohne session_start() kann nicht > auf $_SESSION zugegriffen werden. Eine einfache L�sung ist folgende: - Alle abgesicherten Skripte in einen Ordner (z.B. secure/ ) - Alle Skripte dieses Ordners includen die Session-Funktionalit�t (z.B. start_session.php ) - Auch das Login-Skript mit in den Ordner Und schon hast du nur dann Sessions, wenn sie gebraucht werden. Wenn du ein CMS einsetzt k�nnte man das �hnlich �ber den Pfad regeln oder muss jeder Seite (irgendwie) ein entsprechendes Attribut geben (braucht Session oder nicht) > 3. Gibt es Einschr�nkungen und Probleme bei der Verwendung vom in > PHP integrierten Session Handling, auf die man nicht unbedingt > sofort st��t. Ich hatte noch nie Probleme damit. Man muss nur aufpassen, dass man den Session-Pfad explizit setzt (sonst /tmp --> f�r alle lesbar) und am besten (sofern unterhalb vom DocRoot) ne .htaccess mit "deny from all" reinlegen Gr��e, Niels
php::bar PHP Wiki - Listenarchive