2

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

4

0 回答 0