Hi,
Eine Frage hätte ich noch zum Thema Sicheheit in Punkto PHP:
Wenn ich in der php.ini „session.use_trans_sid = 1
“ aktiviere, werden bei deaktivierten Cookies die Session an die URL aller Links auf meiner Seite gehangen, muss ich bei der Nutzung dieser Funktion auf irgendwas achten?
Wo die Session-ID ueberall angehaengt wird, ist von der Konfiguration abhaengig (vor allem vom Wert der Direktive url_rewriter.tags).
Angehaengt wird sie bei aktiviertem use_trans_sid natuerlich automatisch beim ersten Start der Session - da kann PHP schliesslich noch nicht wissen, ob der Client Cookies akzeptieren wird.
Schickt der Client dann beim naechsten Request einen Cookie mit der Session-ID mit, wird davon ausgegangen, dass er das auch bei den naechsten Requests tun wird - dann wird auf's Uebertragen der SID per GET/POST verzichtet; wenn nicht, dann wird es weiterhin gemacht.
Das Problem bei der Uebertragung der SID per GET ist, dass sie damit leichter in fremde Haende gelangen kann.
Wenn du bspw. ein Bild von meiner Seite auf deiner eingebunden hast, dann ist die Wahrscheinlichkeit gross, dass die aktuell vom Nutzer aufgerufene Adresse deiner Seite, http://example.com/blubb.php?session_id=123456...789, als Referrer an meinen Server uebertragen wird. Wenn ich das jetzt zeitnah auswerten wuerde, koennte ich damit die Session deines Nutzers "stehlen".
Dem wird manchmal entgegenzuwirken versucht, in dem man die Session an eine IP-Adresse "bindet" (bspw. die anfragende IP-Adresse beim Start in der Session speichern, und bei nachfolgenden Requests vergleichen).
Das ist aber auch nicht wirklich optimal, da es auch Szenarios gibt, in denen die IP-Adresse deines Nutzers tatsaechlich wechselt (bspw. von AOL-Zugaengen wird behauptet, dass die ueber zahlreiche Proxies mit unterschiedlichen IPs gehen).
Ich hab so eine art Styleswitch für Handhelds auf meiner Seite, die mit Sessions arbeitet, wenn Cookies deaktiviert sind geht dass ganze natürlich nicht, daher die frage.
Also kein wirklich wichtiges Feature - wenn es mangels Cookie-Akzeptanz nicht funktionieren wuerde, waere das auch kein unbedingter Beinbruch.
Allerdings ist das andererseits auch keine sicherheitskritische Sache - also selbst wenn du als Fallback die Uebertragung der SID per GET nutzt, und die Session sollte mal entfuehrt werden, kann man damit ja nichts wirklich relevantes anstellen.
Ich habe es Testweise bei mir mal aktiviert, http://dj-tut.de/, kann ich es so lassen oder gibt es bei der Nutzung von session.use_trans_sid irgendwas zu beachten?
Na ja, wenn ein SuMa-Bot vorbeikommt, und sich dabei die Links mit Session-ID anschaut und indiziert, ist das natuerlich auch bloed. Deshalb versuchen manche Leute, Bot-Requests zu identifizieren, und bei solchen dann gar keine Session zu starten.
MfG ChrisB
„This is the author's opinion, not necessarily that of Starbucks.“