Ist htmlentities() bullet proof?
Frage ich mich, über die Sicherheit der Verwendung der php-Funktion htmlentities() vor XSS-Angriffen, und vielleicht von verwandten Funktionen wie htmlspecialchars.
vielen Dank 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie explizit angeben, die richtige Verschlüsselung (e.g: utf-8), Chris hatte einen post auf, wie zum einschleusen von code selbst nannte htmlentities ohne die entsprechende Codierung.
http://shiflett.org/blog/2005/dec/google-xss-example
Es ist nicht bullet-proof, ist es nie speichert Sie 100%. Sie müssen Bedenken, dass, wenn es um Sicherheit geht, ist der Entwickler dafür verantwortlich ist. Sprachen bieten eine gute Menge security-Funktionen und mehr, so ist es bis zum Entwickler, wie sichern Sie Ihre Webseite, ob Sie whitelist-Ansatz-oder blacklist-Ansatz. Wenn htmlentities war alles, frameworks wie codeigniter, kohana und mehr würde nicht haben kommen mit Ihrer eigenen großen security-Funktionen.
Die wichtigste Sache ist, um sanitalize und filter jeder Eingang kommt vom Benutzer.
Nein, Funktionen wie
htmlspecialchars
undhtmlentities
schützen nicht gegen alle Fälle von Cross-Site-Scripting.Fälle, in denen diese Funktion wird nicht helfen, sind:
Insbesondere letzterer Grund ist Häufig übersehen. Es gibt viele Beispiele in der OWASP ' s XSS Prevention Cheat Sheet, wo eine Injektion passieren kann in einem HTML-Dokument. Aber nicht alle benötigen die HTML-Sonderzeichen zu injizieren und ausführen von JavaScript-code.