如何仅在页面上显示粗体,斜体和所有其他非安全问题HTML?当我使用TinyMCE编辑器时,Django如何处理转义?
2
A
回答
2
消毒HTML是一个相当困难的问题得到正确的。垃圾邮件发送者和其他讨厌的人总是想出通过卫生来走私HTML的新方法。最安全的选择是定义一个无害标签的白名单,并用真正的HTML解析器严格过滤掉所有其他标签(带正则表达式的而不是)。
djangosnippets.com上有几个模板标签和过滤器,例如, this或this one。选择过滤器时,请注意它使用白名单和HTML解析器,如lxml.html(最好是lxml.html.clean)或BeautifulSoup。
1
要显示所有HTML(不逃逸的),你可以使用safe
过滤
{{ var|safe }}
在你的情况,如果你想逃避,除了某些标签的一切,你可以写你自己的过滤器,做的是:
{{ var|mysafe }}
读到它在这里:http://docs.djangoproject.com/en/dev/howto/custom-template-tags/
过滤器的算法可能是:
- 都逃不过 被 允许(通过使用
- UNESCAPE只有那些标签
.replace
或 regilar表达式)
2
也许更有意义的是配置TinyMCE这种方式,用户只能输入你允许的元素。 TinyMCE有a powerful set of rules。如果您使用的是django-tinymce,请参见this,将TINYMCE_DEFAULT_CONFIG
设置为您需要的选项。
相关问题
- 1. Django - TinyMCE - 管理员 - 如何更改编辑器大小?
- 2. 如何使用tinymce编辑器知道何时点击图标?
- 3. TinyMCE编辑器图像管理器/在Django中上传
- 4. 当我们编辑/创建主体内容时,TinyMCE编辑器没有显示
- 5. 如何在使用TinyMCE编辑器时自动保存
- 6. TinyMCE编辑器禁用
- 7. 自定义TinyMCE代码编辑器
- 8. 使用Cakephp和TinyMCE编辑器
- 9. 在AJAX中使用Tinymce编辑器
- 10. 如何班TinyMCE的表格编辑器
- 11. 如何预加载tinymce编辑器?
- 12. 使用TinyMCE的编辑器中的自定义属性角
- 13. TinyMCE插件中的TinyMCE编辑器
- 14. TinyMCE编辑器 - 如何整合自定义滚动条
- 15. 使用tinymce 4.0文本编辑器如何限制字符?
- 16. 如何从TinyMCE的编辑器使用PHP,Java脚本
- 17. 如何使用将数据保存在TinyMCE的编辑器MVC
- 18. 如何在编辑SlickGrid列时使用tinyMCE?
- 19. Tinymce wiris数学编辑器
- 20. 内联编辑器tinymce
- 21. html编辑器除了tinyMCE
- 22. tinymce编辑器getContent空Wordpress
- 23. 我们如何能的Joomla编辑页脚使其可编辑通过编辑器(TinyMCE的)
- 24. 我如何验证TINYMCE编辑器与jQuery验证
- 25. 如何隐藏Eclipse编辑器,同时做底层处理
- 26. TinyMCE在粘贴编辑器时删除DIV - 如何?
- 27. 如何使用watir-webdriver进行自动化时处理tinyMCE?
- 28. 使用ajaxSubmit替换DOM部分时,应该如何处理tinyMCE?
- 29. 编辑框tinymce
- 30. Tinymce编辑器在web应用程序
恶意的人只需要禁用JavaScript(或者首先使用不解释JavaScript的工具)来避开该障碍。 **从不**仅依靠客户端验证。 TIMEX要求提供安全性,而这根本不提供任何安全性。 – 2010-12-05 17:27:03