我正在用PHP创建一个迷你论坛,我希望允许用户帖子使用有限的文本格式和嵌入图像,但我想安全地进行(XSS明智)并且我想知道什么是最优化的方法下面的那些。
1)从用户输入中删除所有HTML标记,并用BBCode替换WYSIWYG编辑器的控件。 strip_tags是否足够用于此?
2)允许通过WYSIWYG输入HTML,但使用解析器将输出从HTML转换为BBCode。任何人都可以为此推荐一个安全的BBCode解析器吗?
欢迎任何其他想法。
答案 0 :(得分:4)
您无需解析或剥离HTML即可。在打印之前,只需通过htmlspecialchars
运行所有内容即可。
此外,这与使用BBcode正交。你可以让你的编辑器生成BBcode进行格式化,htmlspecialchars
不会以任何方式搞乱它。