HTML code abfangen?
Tschita
- php
hallo,
habe letzens in meine Homepage ein Gästebuch erstellt.
mein Problem ist, dass wenn ein user einen html-code in das Gästebuch schreibt, dieser dann ausgeführt wird..
wie kann ich ihn abfangen?oder besser noch: wie kann ich ihn dann als code ausgeben lassen?
könnte man es so einstellen, dass bestime html tags wie z.B. <b></b>
erlaubt sind?
hab ein formular geschrieben wo die Besucher seinen Namen,E-mail
und Beitrag reinschreiben muss.
eine php-datei wertet diese daten dann aus und schreibt folgendes in eine txt.datei:
<a href="mailto: eingegebene-email">eingegebener Name</a><br>eingegebener Text<br><br>
dieser text in der txt-datei wird dann einfach durch php in die main html seite integriert.
wahrscheinlich muss ich den script komplett verändern oder?hoffe ihr könnt mir weiterhelfen!
htmlspecialchars
oder mit Regex ersetzen und nur die gewünschten Tags drin lassen.
Grüße
echo $begrüßung;
mein Problem ist, dass wenn ein user einen html-code in das Gästebuch schreibt, dieser dann ausgeführt wird..
wie kann ich ihn abfangen?oder besser noch: wie kann ich ihn dann als code ausgeben lassen?
Werte, die in einem bestimmten Kontext ausgegeben werden sollen, müssen gemäß dieses Kontextes behandelt werden! Dieser Lehrsatz gilt für jeden Kontext und für alle Daten.
Du hast bei HTML Code und Daten gemischt. Damit man nun Zeichen, die normalerweise Code kennzeichnen als Daten erkennen kann, muss man sie besonders notieren. Dazu gehören bei HTML <, > und &. Innherhalb von Attributen auch noch " und '. PHP kennt die Funktion htmlspecialchars(), die sich um diese Zeichen kümmert.
könnte man es so einstellen, dass bestime html tags wie z.B. <b></b> erlaubt sind?
Dann musst du die Eingabe parsen und selbst feststellen, ob du das < nun ein gewünschtes oder ein ungewünschtes ist.
echo "$verabschiedung $name";