使用BBCodes ...解析HTML或完全删除它? (XSS / PHP)

时间:2011-09-16 09:03:05

标签: php html xss wysiwyg bbcode

我正在用PHP创建一个迷你论坛,我希望允许用户帖子使用有限的文本格式和嵌入图像,但我想安全地进行(XSS明智)并且我想知道什么是最优化的方法下面的那些。

1)从用户输入中删除所有HTML标记,并用BBCode替换WYSIWYG编辑器的控件。 strip_tags是否足够用于此?

2)允许通过WYSIWYG输入HTML,但使用解析器将输出从HTML转换为BBCode。任何人都可以为此推荐一个安全的BBCode解析器吗?

欢迎任何其他想法。

1 个答案:

答案 0 :(得分:4)

您无需解析或剥离HTML即可。在打印之前,只需通过htmlspecialchars运行所有内容即可。

此外,这与使用BBcode正交。你可以让你的编辑器生成BBcode进行格式化,htmlspecialchars不会以任何方式搞乱它。