Html 净化的最佳设置
我想在文本框上使用 基于 PHP 的工具 HTML Purifier 来防止 xss,但我希望允许以下内容:
- 基本标签,例如
、
、
- 链接
- 图像
我想要的 阻止所有 CSS 和 JavaScript。我刚刚尝试了 HTML Purifier,但在这种情况下失败了。只需查看 此示例。我该如何处理这个问题?
另外,我希望将 #abcd
和 @abcd
形式的所有单词替换为自定义 html (正如您猜到的那样,它是一个链接)。这可以吗还是我必须自己更换?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
将 HTML.Allowed 设置为
b,i,u,a[href],img[src|alt]
参见 此处。
Set HTML.Allowed to something like
b,i,u,a[href],img[src|alt]
See here.
正则表达式和 e 修饰符
Regular expressions and e modifier
PHP 有一个内置函数,似乎可以完全满足您的要求。
http://php.net/manual/en/function.strip-tags.php
它甚至具有白名单功能,因此可以允许某些标签。
对于
#abcd
和@abcd
部分,我认为您必须使用preg_replace()
。我使用过类似的函数,它很好地完成了@abcd
部分:)。PHP has a built-in function that seems to do exactly what you want.
http://php.net/manual/en/function.strip-tags.php
It even has a whitelist feature so it can allow some tags.
For the
#abcd
and the@abcd
part I think you will have to use apreg_replace()
for that. I have used a similar function and it does the@abcd
part very well :).