我正在使用所见即所得的编辑器,我正在尝试允许安全的 html 属性等,<table><a><img><strong>
同时仍然防止 XSS。我认为结合使用 HTML 净化器和白名单标签就可以了。
这是我的卫生:
function strip_tags_wysiwyg($string){
include_once '../includes/htmlpurifier-4.5.0/library/HTMLPurifier.auto.php';
$config = HTMLPurifier_Config::createDefault();
$purifier = new HTMLPurifier($config);
$clean_html = $purifier->purify($string);
$clean_html=strip_tags($clean_html,"<a><address><em><strong><b><i><big><small><sub><sup><cite><code><img><ul><ol><li><dl><lh><dt><dd><br><p><table><th><td><tr><pre><blockquote><nowiki><h1><h2><h3><h4><h5><h6><hr>");
return $clean_html;
}
今天,有人向我表明,当他们将这个 HTML 放入时,我仍然很容易受到攻击:
<img src="x" onerror="alert(0)">
你们对进一步保护我的代码有什么建议?谢谢!
编辑:显然我正在运行 PHP,所以 PHP 解决方案将是理想的。