Heim  >  Artikel  >  Backend-Entwicklung  >  javascript - Wie kann ich die XSS-Injektion in einem Rich-Text-Editor verhindern?

javascript - Wie kann ich die XSS-Injektion in einem Rich-Text-Editor verhindern?

WBOY
WBOYOriginal
2016-08-20 09:04:072554Durchsuche

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? ? ?

Antwortinhalt:

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

herausfiltern
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn