内容数据库 - 可以存储HTML吗?

Eth*_*sik 11 html php database security

基本问题是 - 如果我限制谁可以提交给数据库,那么将HTML存储在数据库中是否安全?

我有一个非常简单的问题.我提供视频教程和其他内容.不花几个月写一个合适的BBCode解析器,我需要存储HTML所以当我从数据库中获取它时,我可以让它看起来完全符合我想要的方式.

基本上我打算在数据库中存储有关教程系列和每集的所有信息.我想对两者的描述都有一些格式,所以我可以添加多个段落,有序和无序列表,指向所需资源的链接等等.

我正在使用PHP并创建自己的数据库.我正在使用phpMyAdmin将信息存储在表中.当我在PHP代码中提取信息时,我将使用具有只读权限的用户.

做这个的最好方式是什么?谢谢!

pow*_*uoy 6

像其他人一样指出将数据库中的HTML 存储没有任何危险.但是当你显示它时,你需要知道HTML是安全的.看到你是唯一一个编辑HTML的人,我认为没问题.

但是,我根本不会存储HTML.如果你需要的只是标题,段落,列表,链接,图像等,我会说Markdown是完美的选择.与降价的好处是,它看起来就像普通的文本(例如,你可以把你的文章作为电子邮件发送或将其保存为TXT的文件),它占用了大量的空间小于HTML 你不必去改变它一旦HTML得到更新.

http://michelf.ca/projects/php-markdown/


Jos*_*ner 5

存储 HTML 代码很好。但是,如果它不是来自受信任的来源,则需要检查它并仅允许标记的安全子集。HTML Tidy 库将帮助您解决这个问题。

此外,您需要考虑网站设计的未来变化,所以不要使用太多标记,只使用基本标签。为了让它看起来像你想要的,在标记中使用全局 CSS 规则和语义命名的类。

但更好的是使用 Markdown 或其他类似 wiki 的语法。Markdown 有一些不错的 JS 编辑器,可以实时预览(就像 Stackowerflow 上的那个),你可以完全避免使用 HTML。


Zed*_*Zed 5

从安全的角度来看,将您的 HTML 存储在数据库中并不比将其存储在其他任何地方更安全 - 如果您是该 HTML 的唯一作者。但话又说回来,如果其他人可以在您的网站上创作 HTML,那么您将其存储在何处并不重要 - 只需要您如何对其进行消毒以及如何以及在哪里显示它。

现在它是否是一种有效的方式来存储 HTML 是一个完全不同的问题。如果我是你,我会使用一些不错的模板系统并将 HTML 存储在文件中。