Sven Rautenberg: serialize() und multidimensionale Arrays

Beitrag lesen

Moin!

Ich weise einfach den Usernamen als Session zu oder ist das blöd?
Einfach
session_id($_SERVER["REMOTE_USER]);
session_start();

Naja, das ist mir nur rein vom Gefühl her zu unsicher.
Aber wieso? Es gibt nichst viel sichereres als den HTTP-AUTH schutz des Apachen. Solange dieser läuft sollte das auch funktionieren, und wenn nicht gehen auch keine Scripte raus. Der Ganze MEchanismus kommt ja nur zum Tragen wenn der User sich bereust erfolgreich eingeloggt hat.

Die Sicherheit, dass niemand fremde Sessions übernehmen kann, rührt daher, dass die Session-ID nicht geraten werden kann. Wenn du als Session-ID den Benutzernamen nimmst, kann ein anderer Benutzername durchaus geraten werden. Diesem Szenario würde ich lieber von Anfang an aus dem Weg gehen.

Es ist doch nichts dabei, eine echte, normale Session-ID zu benutzen. Die ist doch zu nichts nutze außer die Session zu identifizieren. Natürlich muß man in den Accountdaten des Benutzers speichern, welche Session-ID er hat, aber das ist IMO gut so.

Der Benutzer kann sich regulär einloggen, und dann, da er den Benutzernamen des Kollegen kennt, dessen Identität annehmen.
wie? Dann müßte er sich entweder mit dem Passwort des Kollegen einloggen können, oder meine Umgebungsvariablern manipulieren - wie soll das gehen? Wenn er das kann kann er _alles_ manipulieren, auch PHP_AUTH_USER...

Wenn er die Anmeldeseite erfolgreich überwunden hat, ist er gegenüber dem System authentifiziert und hat eine ihm zugeordnete Session. Wenn er die Session-ID ändert, indem er am Cookie schraubt oder den URL-Parameter ändert, dann ist er weiterhin als der alte User authentifiziert, die zugehörige Session ist aber die des Kollegen.

Oder habe ich ein Detail übersehen?

- Sven Rautenberg

--
"Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)