我正在考虑在我的项目中使用WMD而不是现有的RadEditor。我一直在阅读一些关于如何存储和检索数据的帖子,我想在继续之前确保我的概念是正确的。
如果我的研究是正确的,这就是我应该做的事情。
任何人都可以确认或否认这是否正确,还可以在主题上添加任何有用的输入吗?
参考
Reformat my code: Sanitize Html
StackOverflow: how do you store the markdown using wmd in asp net
StackOverflow: sanitize html before storing in the db or before rendering antixss library
StackOverflow: store html entities in database or convert when retrieved
答案 0 :(得分:8)
我正在写一个博客引擎中的Markdown(谁不写博客引擎?),我也在我为客户编写的一些自定义CMS中实现了Markdown。
我的做法与Stack Overflow团队的工作方式类似:
wmd.js
作为客户端编辑。以下是一些谈论Markdown的资源:
底线:
答案 1 :(得分:0)
因此Markdown背后的一个理念是它会产生“安全”的HTML - 不需要单独的编码。
更一般地说,我建议将“原始”数据存储在数据库中,而不是对其进行转换或对其进行消毒。你应该总是尽可能地接近渲染点进行清理或转换 - 它提供了更大的灵活性(哦,突然我需要渲染为RSS。或JSON。该死的,我不能因为我预先格式化为HTML)而且,应该更新消毒剂或渲染器后,您会看到更新对每个数据的影响。
我想说将markdown文本存储在数据库中,然后在需要渲染时将其转换,使用markdown库,理论上应该从其安全的标记和属性列表中构建所有安全的HTML。 / p>