我使用contentEditable =“true”构建了一个简单,轻量级的WYSIWYG HTML编辑器,通过javascript插入HTML标记。
一切都很好,除了我不知道提交,验证和插入数据库的最佳方法。我担心有人可能会插入自己的标签并弄乱输出。
到目前为止,我最好的想法是在将输入插入数据库之前使用PHP将所有有效标签转换为BBCode,然后清除所有其他标签。这是传统的吗?
谢谢!
答案 0 :(得分:1)
是的。 另一种方法是转换已经在WYSIWYG编辑器中的标签。无论哪种方式都无法帮助您“永不信任用户输入数据”,因此您无论如何都必须验证该代码。你必须假设它可能已被破坏。
答案 1 :(得分:1)
您可能希望通过类似HTML Purifier的内容来运行它,以确保您删除任何恶意代码。
我不确定HTML Purifier是否已经这样做了,但您还希望在存储数据之前使用htmlentities
或htmlspecialchars
去除任何与数据库攻击相关的代码。