【问题标题】:Is storing HTML on a DB sane/safe for a blog? [closed]对于博客来说,将 HTML 存储在数据库上是否合理/安全? [关闭]
【发布时间】:2013-10-22 01:39:59
【问题描述】:

我计划用所见即所得的编辑器制作一个博客式的平台(虽然博客还不够值得拥有 CMS/Wordpress 实例),以使管理员能够发布文章。我一直想知道在数据库中存储 HTML(用于文章文本)是否合理和/或安全(我总是可以清除所有脚本标记的痕迹)以及是否有更好的解决方案。

不要误会我的意思:我知道它有效,但我感到很痒,必须有更好的解决方案,但我不知道。

【问题讨论】:

  • 我认为如果处理得当,WordPress 也将html 存储在数据库中。
  • @RecoveringSince2003 我也这么认为,只是想知道是否有其他标记可以满足博客或类似的需求

标签: html database blogs


【解决方案1】:

当然。您可以将其存储在文件系统中,但随后您将失去数据库的优势(例如与其他内容进行单一备份,或级联删除)。

您需要在存储 HTML 之前对其进行清理,因为它可能包含 XSS。您不想意外地在管理界面中意外返回它。

在 Java 中,您可以使用 Hibernate Validator 的 @SafeHtml 注释 / JSoup 的库进行清理。

您还应该在输出之前在服务器上对 HTML 进行转义,以免在浏览器中运行不安全的 JavaScript。

还有:

  • 使用仅限 HTTP 的会话 cookie(这样 XSS 攻击就无法使用它们)
  • X-XSS-Protection = 1;mode=block
  • X-Content-Security-Policy = default-src 'self'
  • Content-Security-Policy = default-src 'self'
  • X-WebKit-CSP = default-src 'self'
  • 使用 X-Content-Type-Options = nosniff 标头(我认为)

【讨论】:

  • 谢谢,我会采取这些对策
猜你喜欢
  • 2021-08-21
  • 1970-01-01
  • 2015-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多