我目前正在使用django-ckeditor
来允许用户为他们的配置文件输入丰富的描述。在
然而,这为恶意用户打开了大门,他们将尝试进行XSS和其他代码注入。在
我想知道最好的办法是什么?在
我看了Python HTML sanitizer / scrubber / filter,但是这些解决方案似乎去掉了诸如“style=”之类的属性,这与ckeditor
的用法完全矛盾,例如,彩色文本或其他依赖这些属性的内容。在
我是否应该使用其他工具而不是ckeditor
?或者我能做什么?在
我的主要目标是允许用户在其“个人资料”中显示图片、彩色文本等
你应该决定并写一个“白名单”什么是允许张贴。然后,彻底解析发布的数据并清除白名单中没有的所有内容。如果是某种样式-解析样式属性并删除除白名单外的所有内容。在
例如,你可以用旧的好的美颜组合来做。在
当然,不要将
<script>
标记或onSOMETHING
处理程序列为白名单,它们通常带来的痛苦大于收益。在相关问题 更多 >
编程相关推荐