我打算用一个WYSIWYG编辑器创建一个博客(不足以获得CMS / Wordpress实例的博客)平台,以便管理员发布文章。我一直想知道在数据库(文章文本)上存储HTML是否合理和/或安全(我总是可以清除所有脚本标记的痕迹)以及是否有更好的解决方案来解决问题。
不要误会我的意思:我知道它有效,但是我知道这有点麻烦,我不知道有更好的解决方案。答案 0 :(得分:2)
不确定。您可以将其存储在文件系统中,但之后您将失去数据库的优势(例如使用其他内容进行单一备份或级联删除)。
在存储HTML之前,您需要清理HTML,因为它可能包含XSS。你不想意外地在管理界面中意外地返回它。
在Java中,您可以使用Hibernate Validator的@SafeHtml注释/ JSoup库进行清理。
您还应该在输出之前转义服务器上的HTML,以便在浏览器中不运行不安全的JavaScript。
此外: