在数据库中存储格式化的 HTML 文本

Storing formatted HTML text in database

我有兴趣让用户在我的网站上 "share" 信息,说一些类似于公告板概念的东西。这是我以前从未做过的事情,因为我知道它可能会引入安全问题。

我可能会使用 ColdFusion 作为我的脚本语言。我也熟悉 PHP,但我更倾向于 CF,因为它内置了 RichText 控件。数据库后端将是 MySql 或 SQLServer.

因此,我的问题归结为:具体的安全问题是什么?我如何为他们筛选用户输入? SQL 存储的方法是否有任何限制(比如 VARCHAR vs BLOB)?

我们实际上为我们网站的主要页面使用了 CMS,它的核心是使用数据库而不是系统上的实际文件。因此,对于我们网站上的大部分内容,我们实际上有 HTML 从数据库中检索。

例如

blurb.body will equal something like '<p>This is a body paragraph</p>'

然后我们似乎 运行 有时遇到的一件事是字符编码错误。似乎如果有人用“'”或其他东西将一些文本复制到 CMS 中,没有任何东西可以自动将其转换为 '.

但是,是的,你应该能够做到。只需确保您对进入数据库的任何过滤在其出路时正确反转即可。