仅使用HTML PURIFIER关闭未关闭的标签而不删除XSS漏洞或其他任何内容?
仅对未关闭的标签使用HTML PURIFIER(防止删除类,样式等):)
提前谢谢。
答案 0 :(得分:0)
您可以通过简单地覆盖负责处理令牌的"策略"来利用HTML Purifier内置的HTML解析器来实现这一目的。以下是如何做到这一点:
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);