ChrisB: Daten maskieren vorm Speichern in einer Session?

Beitrag lesen

Hi,

Aber die Daten in einer Session-Datei sind vertrauenswuerdig, da sie in aller Regel auch von deinem Script selber dort hineingeschrieben worden, und das auf dem "normalen" Wege ohne Manipulation geschehen sein duerfte.

Warum? Die Daten schreib ich doch mit meinem Script da rein und wo meine Daten herkommen, weiß die Session doch nicht. In meinem Fall ist es eine komplette angefragte URI mit gesamten Anhang, also das so ziemlich unsicherste, das man sich vorstellen kann.

Ob etwas potentiell gefaehrlich ist, kommt immer auf den Kontext an, in dem es verwendet wird. Elektrizitaet bspw. ist zum Beleuchten meiner Wohnung und zum Betrieb meines Computers eine feine Sache - aber wenn ich in die Steckdose pinkle, werden die negativen Effekte vermutlich ueberwiegen ...

Und du hast lediglich einen Textstring vorliegen, der vom PHP-eigenen Session-Mechanismus in eine Session-Datei geschrieben wird - wie dedlfix schon sagte, reichlich unbesorglich.
PHP serialisiert die Daten selbst, und de-serialisiert sie dann auch wieder. Wenn da irgendein Gefahrenpotential vorhanden waere, dann haette PHP sich schon im ersten Schritt beim Serialisieren darum gekuemmert.

Potentiell gefaehrlich ist unserialize dann, wenn der Quelle, die die Daten (vermeintlich) serialisiert hat, nicht vertrauen kann. Dann koennten die in irgendeiner Form so manipuliert sein, dass sie unserialize einen "Schluckauf" verpassen, weil sie nicht im gewohnten Format vorliegen.
Deshalb sollte man wie gesagt keine (vermeintlich) *serialisierten* Daten, die von ausserhalb kommen (Cookie, GET, POST), de-serialisieren.
Die aus einer Sessiondatei ausgelesenen *serialisierten* Daten kommen aber nicht von aussen - sie wurden von vertrauenswuerdiger Quelle (PHP selber) *serialisiert*. (Es geht hier nur um die Serialisierung der Daten, *nicht* um ihren Inhalt.)

MfG ChrisB