Matti Mäkitalo: Local Storage

Beitrag lesen

Hallo,

d.h. wenn man ein beliebiges Array $a hat, ist unserialize(serialize($a)) ein Risiko?

m.W. nicht und wenn, wäre dies ein ernstzunehmender Bug in PHP.

Worauf ich hinauswill: der serialisierte String, der unserialisiert wird, kommt nicht aus unsicherer Quelle. Der wurde bei meinem Vorschlag am Server erstellt und blieb auch dort. Trotzdem ein Risiko?

Ich beziehe mich aber auf folgendes Zitat von dir:

Um 17 Felder in ein hidden field zu verschlüsseln, machst Du in PHP ein Array draus und jagst es durch serialize(). Das steckst Du dann über htmlspecialchars ins Value-Attribut deines hidden field. Wenn Du die Felder wieder brauchst, nimmst Du den Wert aus dem hidden field und verwandelst ihn mit unserialize zurück.

Wenn du es serialisierst und dem Client als hidden-Feld übergibst und dann wieder einlist und deserialisierst => keine sichere Quelle.

Wenn du es serialisierst und serverseitig speicherst, wird es i.d.R. eine sichere Quelle sein (ich schließe jetzt mal Szenarien wie kompromittierte Session-Stores aus).

Viele Grüße Matti