【发布时间】:2017-03-10 18:23:30
【问题描述】:
我想删除 Web 应用程序中 XSS / JavaScript 注入的漏洞,允许用户使用像 CKEditor 这样允许任意 HTML 的编辑器(以及我的特定编辑器是否允许任意 HTML,blackhats 将能够无论如何提交任意 HTML)。所以没有 JavaScript,无论是 SCRIPT 标签、ONCLICK 和家庭,还是其他任何东西。目标平台是 Python 和 Django。
我最好的选择是什么?我对将标签和属性列入白名单的实现持开放态度;也就是说,我认为没有必要允许用户提交您可以在 HTML 中构建的所有内容,而 only JavaScript 被删除。我很高兴拥有支持标签可用性的富文本,它可以允许相当富有表现力的富文本。我也会对生成 Markdown 的编辑器开放,并在保存数据之前去除所有 HTML 标记。 (HTML 操作似乎更简单,但我也会考虑使用 Markdown 实现的解决方案。)
我也不认为有必要生成一个经过净化的文本,如果相反,抛出一个表明提交未通过测试的异常。 (因此,将字符串小写并搜索“
如果有的话,最好的解决方案是什么?
【问题讨论】:
标签: python django security xss sanitization