Wann sollte ich die Funktion htmlspecialchars () verwenden?
Hi
Ich Frage mich, Wann ist der geeignete Ort um das zu htmlspecialchars(). Ist es vor dem einfügen von Daten in die Datenbank oder beim abrufen, aus der Datenbank?
InformationsquelleAutor der Frage khr2003 | 2011-02-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie nur diese Methode aufrufen, wenn echo die Daten in HTML.
Nicht speichern escaped HTML-Codes in Ihrer Datenbank; es werden nur Abfragen ärgerlicher.
Die Datenbank soll speichern Sie Ihre aktuellen Daten, nicht die HTML-Darstellung.
InformationsquelleAutor der Antwort SLaks
Verwenden Sie
htmlspecialchars
JEDER Zeit Sie Ausgabe von Inhalten in HTML, so ist es interperted als Inhalt, und nicht HTML.Wenn dir die Inhalte werden als HTML behandelt, Sie haben gerade öffnete die Tür, um bugs auf ein minimum, und insgesamt XSS-hacks im schlimmsten Fall.
InformationsquelleAutor der Antwort gahooa
Speichern Sie die genaue Sache, die der Benutzer eingibt in der Datenbank.
dann, wenn es angezeigt wird,, öffentlich, verwenden
htmlspecialchars()
, so dass es bietet einige xss-Schutz.InformationsquelleAutor der Antwort Vamsi
Guide - Wie benutze htmlspecialchars () - Funktion in PHP
Beginnen Sie zu verstehen, 1 einfaches Konzept: Render.
Was Rendern ist?
Rendern ist, wenn die HTML-Transformationen
Fett wie diese Hallo. Das ist Rendern.
So...Wann die htmlspecialchars () - Funktion?
Wo immer Sie wollen zum Rendern von HTML-Inhalten.
Zum Beispiel, wenn Sie mit JQuery und dies tun Sie:
Div-Inhalte werden Hallo. Es machte die text in HTML.
Wenn Sie möchten, um die Nachricht anzuzeigen, die in dieser Art und Weise (war geschrieben von "user"):
haben Sie:
In dieser Art und Weise der Hallo wird nie gerendert werden.
Wenn Sie möchten, laden Sie die Meldung (wie geschrieben durch Benutzer) in ein Textfeld, textarea, etc... Sie haben zu setzen:
Angezeigt wird
Innerhalb der Textbox ohne Probleme.
Fazit:
Was auch immer Daten, die die Benutzer-Eingabe in Formulare, etc...Speichern Sie die Daten als normalerweise.
Verwenden Sie keine Funktion. Wenn Benutzer gesendet 12345 speichern, wie es ist. Nicht filter nichts. Sie müssen nur die filter, wenn Sie gehen, um die Anzeige der Daten in der Seite für die Nutzer. SIE, NUR SIE entscheiden, wenn Sie wollen, zu machen oder nicht, was der Nutzer geschrieben hat. *Denken Sie daran, dass.
Grüße!
InformationsquelleAutor der Antwort Manuel