Hi,
Um nun zu verhindern, dass ein Gast schadhaften PHP / HTML oder JavaScript Code einschleust,
Dass PHP-Code clienseitig keine Gefahrenquelle darstellen kann, hatten wir ja nun schon.
habe ich für die "Vorschau-Anzeige" eine JavaScript Funktion geschrieben, die alle < > gegen < > austauscht.
Dadurch werden z.B. HTML Befehle nicht mehr ausgeführt, sondern als Text angezeigt.
Wenn du etwas nur als Text dargestellt haben willst - dann lasse es einfach nur als Text darstellen, dann brauchst du keinerlei Ersetzungen vornehmen.
text = document.getElementById("textbox").value;
text = text.replace(/</g,"<");
text = text.replace(/>/g,">");
document.getElementById("preview_text").innerHTML = text;
Du willst also nicht, dass HTML-Code interpretiert wird - wieso weist du denn den Inhalt dann der innerHTML-Eigenschaft eines Elementes zu?
Greife einfach auf einen Textknoten innerhalb des Elementes, in dem du das ganze darstellen lassen willst, zu - und weise den Inhalt dessen data-Eigenschaft zu. Da kann der Nutzer so viele < und > eingeben, wie er will - Text bleibt Text.
MfG ChrisB
"The Internet: Technological marvel of marvels - but if you don't know *what* you're lookin' for on the Internet, it is nothing but a time-sucking vortex from hell."