Ich war auf der Suche auf der php.net manual und es hatte diese Codezeile:Ist so viel Entkommen notwendig?
Hi <?php echo htmlspecialchars($_POST['name']); ?>.
You are <?php echo (int)$_POST['age']; ?> years old.
Er sagt unter:
htmlspecialchars() stellt sicher, dass alle Zeichen, die richtig codiert, damit die Menschen in HTML-Sonder sind kann keine HTML-Tags oder Javascript in Ihre Seite einfügen.
Ist das wirklich notwendig?
Kann jemand wirklich bösartigen Code in diese eine Zeile einfügen? Worüber muss man sich Sorgen machen? Kann etwas in diese Zeile injiziert werden, um einen PHP-Code auszuführen? Sind sie nur daran gewöhnt, das zu beobachten, obwohl es in diesem Fall keine Bedrohung gibt?
Ja ist es. Selbst wenn es kein Sicherheitsproblem gab (es gibt, siehe Antworten), ist es sehr ärgerlich, wenn eine Seite bricht (oder einen Teil der Eingabe stillschweigend ausschneidet), weil jemand vollkommen perfekte Daten eingibt, die zufälligerweise einige in HTML Markup verwendete Zeichen enthalten . – delnan
Ich dachte, du nennst 'htmlspecialcharacters' zweimal –
Eine gute Faustregel beim Schreiben von Webanwendungen ist es, ** niemals ** Benutzereingaben zu vertrauen. – NullUserException