自定义CMS - 存储内容

时间:2013-03-26 22:17:26

标签: mysql content-management-system

我正在构建一个存储文章的自定义CMS系统。

将文章存储在数据库中的正确方法是什么?鉴于文章可能包含单个段落或任意数量的段落,并且可能包含图像,将每个段落存储在数据库的不同字段中似乎不切实际。

我已经看过Wordpress如何存储帖子,它似乎将原始html集中在一个字段`post_content'中。这是一种可接受的方法吗?我在这种方法中看到的缺点是,对于每篇文章,还会存储任何html标记。如果我只存储原始文本,那么调用文章的动态页面只包含html标记一次。但那么如何在paragrpahs和图像之间进行区分呢?

有什么想法吗?

谢谢。

1 个答案:

答案 0 :(得分:3)

选择的字段是BLOB类型(例如TEXT)。

要存储的数据是另一回事,实际上取决于您的实施。我曾经在类似的系统上工作,并且过去将数据存储为:

  • XML - 由应用程序层转换和转换为HTML的自定义XML标记。此方法还意味着您可以使用XPATH查询执行其他数据查询。
  • WMD - 将数据存储为WMD意味着没有任何HTML标记可以帮助防止跨站点脚本攻击(XSS)
  • HTML这是划分数据的最简单,最快捷的方法。为您提供消毒输入,这有助于XSS和其他您不想要的数据,但这会增加WMD从开始时可以解决的更多复杂性。

如果您正在从链接的图像中查找某种分析数据,我建议将图像URI存储在另一个表中并链接到URL的主键ID。这意味着您可以检查而不是复制图像URL。如果您在域中上传和存储图像,则图像URI同样可以是ID。