HTML 净化器只关闭未关闭的标签

HTML Purifier only close unclosed tags

使用 HTML PURIFIER Only 关闭未关闭的标签而不移除 XSS 漏洞或其他任何东西?

官网:http://htmlpurifier.org/

仅对未关闭的标签使用 HTML PURIFIER(防止删除 类、样式和其他):)

提前谢谢你。

您可以利用 HTML Purifier 内置的 HTML 解析器来执行此操作,方法是简单地覆盖负责处理标记的 "strategy"。操作方法如下:

include_once 'library/HTMLPurifier.auto.php';

$raw = '<a href="onclick:xss()">foo';

class HTMLPurifier_Strategy_Null extends HTMLPurifier_Strategy {
    public function execute($tokens, $config, $context) {
        return $tokens;
    }
}

class HTMLLinter extends HTMLPurifier {
    public function __construct($config = null) {
        parent::__construct($config);
        $this->strategy = new HTMLPurifier_Strategy_Null();
    }
}

$linter = new HTMLLinter();
echo $linter->purify($raw);