好的,所以我一直在 SO 和其他地方阅读有关 markdown 的内容,用户输入和数据库之间的步骤通常给出为
- 将 markdown 转换为 html
- 清理 html(带白名单)
- 插入数据库
但对我来说,执行以下操作更有意义:
- 清理降价(删除所有标签 -
没有例外)
- 转换为 html
- 插入数据库
我错过了什么吗?在我看来,这几乎可以防止 xss
请参阅此链接:
http://michelf.com/weblog/2010/markdown-and-xss/
> hello <a name="n"
> href="javascript:alert('xss')">*you*</a>
Becomes
<blockquote>
<p>hello <a name="n"
href="javascript:alert('xss')"><em>you</em></a></p>
</blockquote>
∴你必须消毒after转换为 HTML。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)