2012-03-30 7 views
3

Ich benutze PHP und Zend Framework in meiner Anwendung. Der Benutzer kann etwas HTML eingeben und der Administrator kann dieses HTML sehen. Ich möchte XSS-Injektion vermeiden. Alle HTML-Seiten sollten so dargestellt werden wie JavaScript. Ich habe versucht, script Tags zu entfernen, aber es ist unsicher. Der Benutzer kann Javascript zu onclick oder anderen Ereignissen hinzufügen.Der beste Weg, die Ausführung von Javascript zu vermeiden

Danke.

+0

In diesem Fall würde ich wahrscheinlich eine Art Eingang Reiniger/Reiniger verwenden. Zum Beispiel htmLawed: http://www.bioinformatics.org/phlabware/internal_utilities/htmLawed/index.php –

Antwort

4

Wenn Sie schauen, Benutzereingaben wie dies von XSS zu sanieren, ich HTML purifier

nur Script-Tags entfernen in Verwendung ist nicht genug aussehen würde, verpassen Sie eine Javascript inline heraus, dass die Menschen können unter anderem hinzufügen .

HTML purifier wird jedoch alles für Sie entfernen. Von ihrer Website:

HTML Purifier ist eine Standards-konforme HTML-Filterbibliothek geschrieben in PHP. HTML Purifier wird nicht nur alle bösartigen Code (besser bekannt als XSS) mit einer gründlich geprüften, sicheren und dennoch freizügigen Whitelist entfernen, wird es auch sicherstellen, dass Ihre Dokumente Standards sind, nur mit einem umfassenden Wissen von W3C Spezifikationen erreichbar .

+0

Nettes Werkzeug. Vielen Dank. Ich werde es untersuchen. – pltvs

1

Ich denke, Ihre beste Wette wäre, alle Schwachstellen manuell zu decken.

Beginnen Sie mit dem Entfernen von Skript-Tags, führen Sie dann reguläre Ausdrücke für die Ereignisse on (onclick, onhover ...) aus und entfernen Sie diese ebenfalls. Es gibt mehr natürlich ...

CodeIgniter (wahrscheinlich auch andere Frameworks) hat eine Funktion xss_clean(), Sie könnten einen Blick darauf werfen, um zu sehen, was sie tun.

Verwandte Themen