dedlfix: HTML in cookie speichern

Beitrag lesen

Hi!

Ich speicher einen HTML Code in eine Datenbank. Innerhalb dieses HTML Codes sind ganz viele Termine gespeichert, die ich zuvor aus der Datenbank ausgelesen habe. Da nicht 10 Cookies für 10 Termine verwenden wollte habe ich einfach den HTML-Code indem die Termine ausgegeben werden in einen Cookie gespeichert.

Wozu machst du denn den ganzen Umstand mit zweifacher Datenbankspeicherung und dann noch im Cookie zwischen Client und Server hin- und hersenden?

Das Cookie wird mit urlencode verschlüßelt und vor der ausgabe mit urldecode wieder entschlüßelt. Nun ist es aber dennoch möglich eine HTML Injektion zu machen oder?

Natürlich, urlencode() ist ja auch keine Verschlüsslung sondern lediglich als kontextgerechte Behandlung gedacht.

Wie verhindere ich dies und gebe gleichzeitig meinen HTML-Code ungesetzt aus?

Wenn etwas beim Client war, so wie deine Cookies, kann der das beliebig manipulieren. Du kannst das nur gegen eine Prüfsumme testen, die natürlich auch nicht vom Client manipuliert werden darf.

Wenn ich htmlentities verwende wird ein Fettgeschriebenes wort ja als <b>Fettgeschriebeneswort</b> ausgegeben.Dass will ich ja aber nicht. Gleichzeitig soll aber fremder Code der in das Cookie gespeichert worden sein könnte nicht codiert werden.

Da musst du dir was überlegen, wie du fremden von eigenem Code unterscheiden kannst. Es ist sicher weniger Aufwand, die Daten neu zu erzeugen, anstatt sie zu analysieren.

Hat vielleicht einer von euch eine Lösungsidee?

Nimm eine Session, wenn du vorübergehend Client-individuelle Daten speichern musst.

Lo!