Heinzelhund: Daten maskieren vorm Speichern in einer Session?

Beitrag lesen

Hallo!

echo $begrüßung;

was denkt ihr, sollte man potenziell unsichere Daten vor dem Speichern in einer Session-Textdatei zuvor maskieren?

Bist du derjenige, der die Session-Textdatei anlegt und die Daten reinschreibt? Dann musst du auch dafür sorgen, dass du Zeichen mit Sonderbedeutung von denen in den Nutzdaten unterscheiden kannst.

Ja, indem ich session_start() aufrufe.

Wenn du einfach nur das $_SESSION-Array schreibend und lesend verwendest, dann ist es nicht deine Aufgabe, dich um das korrekte Schreiben in die im Hintergrund verwendete Datenhaltung zu kümmern. Es sei denn, das Handbuchkapitel zu diesem Thema gibt Handlungsanweisungen. Tut es aber nicht.

Da steht leider so vieles nicht drin.

Und wenn ja, wie? Addslashes() vielleicht?

Irgendwas nehmen, wird schon stimmen? Das ist nicht die richtige Vorgehensweise. Informiere dich, welche Zeichen eine Sonderbedeutung im jeweiligen Kontext haben und wie diese zu behandeln sind.

Es handelt sich um einen serialisierten Array, der Strings in Anführungsstriche setzt. Zudem notiert er zuvor die Länge des Strings. Es ist nun denkbar, das Anführungszeichen eine Auswirkung als Sonderzeichen haben. Da wäre addslashes() durchaus eine denkbare Möglichkeit und nicht einfach ins Blaue geraten.

So eine Session-Datei ist ja kein Geheimnis. Öffne sie einfach in einem Texteditor und versuch dir über ihren Aufbau klar zu werden. Versuch dann, die dabei verwendeten Zeichen in deinen Nutzdaten zu verwenden. Wie sieht nun die Session-Datei aus? Und kommen die Daten so wieder raus, wie du sie reingetan hast oder werden sie verfälscht?

"trial and error" ist in Sicherheitsfragen immer nur die zweitbeste Lösung, da man nicht alle Möglichkeiten durchspielen kann. Besser ist es, zu wissen, wie etwas abgearbeitet wird. Und das ist meine Frage. Aber da scheinst du ja auch kein näheres Wissen zu haben.

Ciao
Heinzelhund