我正在使用WYSIWYG编辑器,我正在尝试允许安全的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解决方案将是理想的。