dedlfix: Input-Prüfung / Sicherheit

Beitrag lesen

echo $begrüßung;

Ich habe da ne Seite die es erlauben soll HTML zu posten mit einem WYSIWYG-Editor. Das Problem ist die einfache Manipulierbarkeit. und ein htmlspecialchars() am ende bringt ja nichts wenn ich den HTML-Code korrekt darstellen möchte. Eine Variante wäre natürlich BBCODE, aber das hat auch seine Nachteile...
Es gibt doch bestimmt eine Reihe von Zeichen die man einfach nur ersetzen braucht und schon ist der mögliche Schad-CODE entwaffnet. Eines davon wären die " ", aber die möchte ich nicht hässlich maskiert lassen " " sieht doof aus!

Die anderen sind <, > und &. Aber genau das wolltest du ja nicht. Es bleibt dann nicht viel übrig, als einen Parser zu schreiben, der nur einige, von dir als unschädlich eingestufte Elemente und Attribute zulässt und alles andere ablehnt. Und selbst damit sind schon in prominenten Fällen Sicherheitslücken übersehen worden. Oder du nimmst andere Syntax, wie BBCode oder Wiki-Markup[1].

Soll ich doch auf BBCode setzen?

Der Vorteil ist, dass die Syntax überschaubarer, einfacher zu erlernen und einfacher zu parsen ist.

Ist BBCode überhaupt nicht manipulierbar?

Das kommt auf die/deine Umsetzung an.

[1] Wiki-Markup steht hier stellvertretend für die viele verschiedene in Wikisystemen verwendete Syntax.

echo "$verabschiedung $name";