如何允许某些HTML标签?

时间:2012-02-12 16:47:03

标签: php html xss

我有一个textarea,用户可以写一篇文章。该文章可以包含文本(粗体和斜体),链接和YouTube视频。如何允许那些特定的html标签并仍然发布安全的xss-prevent代码?

2 个答案:

答案 0 :(得分:11)

我会使用HTMLPurifier,以确保您只保留HTML

  • 这是有效的
  • 并且只包含您选择允许的标签和属性


我应该补充一点,PHP提供strip_tags()函数,但它不是那么好(引用)

  

因为strip_tags()实际上并未验证HTML,部分或   破碎的标签可以导致删除比预期更多的文本/数据。   

此功能不会修改标签上的任何属性   你允许使用allowable_tags,包括样式和onmouseover   恶意用户在发布文本时可能会滥用的属性   将向其他用户显示。

答案 1 :(得分:1)

如果您正在寻找真正的XSS保护,我建议使用HTMLPurifier。如果不是不可能的话,自己动手很难。并且肯定会有错误(/洞)。