Heim > Artikel > Backend-Entwicklung > javascript - Wie kann ich die XSS-Injektion in einem Rich-Text-Editor verhindern?
Wenn das HTML-Tag gefiltert wird, um die XSS-Injektion zu verhindern, geht die Funktion des Rich-Text-Editors verloren und es wird zusammen gefiltert. Wenn der HTML-Tag beibehalten wird, wird die XSS-Injection nicht verhindert.
Wie gehen Sie normalerweise mit diesem Problem um? ? ? Nur bestimmte Tags filtern? ? ?
Wenn das HTML-Tag gefiltert wird, um die XSS-Injektion zu verhindern, geht die Funktion des Rich-Text-Editors verloren und es wird zusammen gefiltert. Wenn der HTML-Tag beibehalten wird, wird die XSS-Injection nicht verhindert.
Wie gehen Sie normalerweise mit diesem Problem um? ? ? Nur bestimmte Tags filtern? ? ?
HTML Purifier ist ein in PHP geschriebener HTML-Filter, der mit einem WYSIWYG-Editor verwendet werden kann, um XSS-Schadcode herauszufiltern.
<code><?php require dirname(__FILE__).'/htmlpurifier/library/HTMLPurifier.auto.php'; $purifier = new HTMLPurifier(); echo $purifier->purify($html);</code>
Ich denke, eine Whitelist ist in Ordnung. Behalten Sie einfach die Tags bei, die Sie verwenden möchten, und filtern Sie alles andere
Filtern Sie nicht die Funktionen, die Ihr Rich-Text-Editor unterstützt, sondern nur andere. Wenn Sie ein p-Tag erhalten, müssen Sie dann noch unterscheiden, ob es mit Ihrem Editor oder manuell hinzugefügt wurde?
Ist es in Ordnung, festzulegen, dass Sie Ihre eigene neue Grammatik verwenden müssen?
Filtern Sie einfach das JS-Skript heraus
Beim Betreten der Bibliothek auf Entitätszeichen umgestellt
Beim Verlassen der Bibliothek wiederhergestellt.
und
<script></script>
javascript:xxx;
dieser Art