在<a onclick="sth" href=""> in user input</a>中消毒javascript

时间:2014-02-22 15:31:33

标签: javascript php xss

从用户提交的帖子中有类似

的内容
<a onclick="sth()" href ="legitlink.html">some content</a>

我想保留链接,以便仍然可以显示链接,但javascript部分应该消毒

<a href="legitlink.html">some content</a>

如何在php中完成?是否有一些扩展或框架可以自动处理这类工作?

1 个答案:

答案 0 :(得分:1)

不要试图自己做 - 我打赌你忘记了一些恶意的代码部分。有testet库,做得很好。 即看看HTML Purifier

require_once '/path/to/HTMLPurifier.auto.php';

$config = HTMLPurifier_Config::createDefault();
$purifier = new HTMLPurifier($config);
$clean_html = $purifier->purify($dirty_html);