我有一个textarea,用户可以写一篇文章。该文章可以包含文本(粗体和斜体),链接和YouTube视频。如何允许那些特定的html标签并仍然发布安全的xss-prevent代码?
答案 0 :(得分:11)
我会使用HTMLPurifier,以确保您只保留HTML
我应该补充一点,PHP提供strip_tags()
函数,但它不是那么好(引用):
因为
strip_tags()
实际上并未验证HTML,部分或 破碎的标签可以导致删除比预期更多的文本/数据。
此功能不会修改标签上的任何属性 你允许使用allowable_tags
,包括样式和onmouseover 恶意用户在发布文本时可能会滥用的属性 将向其他用户显示。
答案 1 :(得分:1)
如果您正在寻找真正的XSS保护,我建议使用HTMLPurifier。如果不是不可能的话,自己动手很难。并且肯定会有错误(/洞)。