Sven Rautenberg: Trans-SID

Beitrag lesen

Moin!

Nö, sorry, aber deine Definition ist irreführend und falsch.

Wie Du darauf kommst, kann ich nicht nachvollziehen.

Wenn Du session.use_cookies und session.use_only_cookies ausschaltest und session.use_trans_sid einschaltest, sollten keine Cookies mehr verwendet werden und die ID automatisch "transparent" eingebaut werden.

Genau darum geht es: Die Definition von "transparent".

Eine Session-ID in einer URL ist keine "transparente Session-ID", sondern "eine Session-ID in der URL".

"Transparent" ist, dass PHP an alle relativen URLs einer auszuliefernden Seite (nach Maßgabe von url_rewriter.tags) die Sessioninformation anhängen kann, ohne dass der Programmierer sich explizit drum kümmern muß.

Alternativbeispiel: Ein transparenter Proxy ist auch vollautomatisch mit im HTTP-Verkehr dabei, ohne dass der Browsernutzer ihn als Proxy eintragen muß.

Man muß das aber nicht transparent machen lassen, man kann es genausogut auch manuell und explizit tun, ohne dass sich an der Funktionsweise der Session oder den Sicherheitsimplikationen irgendetwas ändern würde. "Transparent" ist der Mechanismus also NUR für den Programmierer. Insofern ist es unsinnig, eine Session-ID in der URL als "transparente SID" zu bezeichnen, wenn eine nicht transparente SID, die manuell dorthin gelangte, genauso aussieht und genauso funktioniert.

Wenn du also die Anweisung gibts "benutze transparente Session-IDs", dann ist das Unsinn, weil es sowas nicht gibt. Es gibt den transparenten Mechanismus zur Übermittlung der Session-ID, den man nutzen könnte.

Es werden keine Cookies generiert und keine ausgewertet für die Session.

Wo siehst Du Da einen Fehler?

Was im einzelnen ein- oder auszuschalten ist, ist bislang in deinem Posting nicht erwähnt worden. Du hast nur von "transparenter ID" gefaselt.

Was allerdings passiert, wenn man nun widersprüchlicherweise zusätzlich session.use_only_cookies _einschaltet_, habe ich aktuell nicht ausprobiert.

Was soll schon passieren?

session.use_trans_sid regelt das Anhängen der Session-ID an URLs (1 = anhängen, 0 = nicht anhängen).

session.use_cookies regelt das Versenden von Cookies (1 = cookie senden, 0 = nicht senden).

session.use_only_cookies regelt das Ermitteln der Session-ID (1 = nur aus $_COOKIE nehmen, 0 = auch aus $_GET oder $_POST nehmen).

In Summe liefert use_trans_sid = 1, use_cookies = 0, use_only_cookies = 1 ein ohne manuelle Intervention unbrauchbares Sessionsystem, da die Session-ID nie per Cookie ausgeliefert, aber nur per Cookie akzeptiert wird. Man muß zwingend manuell ein Session-Cookie generieren, damit es funktioniert.

- Sven Rautenberg

--
"Love your nation - respect the others."