我希望在文本框上使用基于PHP的工具HTML净化器来防止xss,但我希望允许以下内容:
<b>,<i>,<u>我想阻止所有的CSS和JavaScript。我刚试过HTML净化器,但在这个案子上失败了。看看这个例子吧。我该怎么处理这个?
此外,我希望将表单#abcd和@abcd的所有单词替换为自定义html (正如您所猜测的那样,它是一个链接)。用这个可以吗?还是我必须自己做替换?
发布于 2011-02-27 14:00:35
将HTML.Allowed设置为类似于b,i,u,a[href],img[src|alt]的
见这里。
发布于 2011-02-27 10:41:40
PHP有一个内置函数,它似乎完全可以实现您想要的功能。
http://php.net/manual/en/function.strip-tags.php
它甚至有一个白名单功能,所以它可以允许一些标签。
对于#abcd和@abcd部分,我认为您必须为此使用一个preg_replace()。我使用了类似的函数,它很好地完成了@abcd部分:)。
$sClickText = preg_replace("/\@([a-zA-Z0-9_])+/",' <a href="#reply" onClick="reply(\'' . "$0" . '\')">' . "$0" . '</a>',$sInputText);https://stackoverflow.com/questions/5132669
复制相似问题