【发布时间】:2011-07-07 21:50:02
【问题描述】:
网站上有不同的内容,允许创建/编辑 - 新闻、文章等。
如何正确、安全地将数据从编辑器传输到数据库?
我想使用所见即所得的编辑器,因为这个编辑器的潜在用户不会是这样有经验的用户(Markdown 和 BB-code 对他们来说很难,他们想要像 MS Word =)
另外我想给这个编辑器添加一些限制,例如:没有图片,只有5种颜色,只有3种字体等等。(这可以通过这个编辑器的有限控制来完成)
我的问题:如何让这个编辑器更安全?如何防止从用户添加额外的 html 或 <script> 标签。在呈现此内容(新闻或文章)的模板页面时,我是否必须对来自数据库(保存的内容,用户在编辑器中编写的内容)的数据进行 html 过滤?
我应该将内容以 HTML 方式存储在数据库中吗? (如果我想要 wysiwig-editor 并在保存后输出 HTML)。或者我应该将 HTML 从编辑器转换为 bb-code 或 markdown(将我的所有限制和限制)并清除所有额外的 HTML ...然后从数据库获取内容时 - 我应该将 bb-code/markdown 转换为 HTML再次。
或者也许有更简单、更快捷的方法来确保安全?
【问题讨论】:
-
你在服务器端使用什么?
-
这可能对你有用:tinymce.moxiecode.com/index.phpusus javascript 和 php。
标签: javascript database wysiwyg