Javascript Python和Django。从html中删除所有js
我想显示用户输入的html(来自WYSIWYG) 但是我在从html中删除js时遇到了一些问题 以下是我的看法:Javascript Python和Django。从html中删除所有js,javascript,python,html,django,wysiwyg,Javascript,Python,Html,Django,Wysiwyg,我想显示用户输入的html(来自WYSIWYG) 但是我在从html中删除js时遇到了一些问题 以下是我的看法: def bad_view(request): # in real project we got it from user bad_html = '<p onclick="alert(0)">:((</p><script>alert(0);</script>' return render(request, 'tem
def bad_view(request):
# in real project we got it from user
bad_html = '<p onclick="alert(0)">:((</p><script>alert(0);</script>'
return render(request, 'template.html', {'bad_html': bad_html})
坏的html应该是这样的:((
从这个html中删除所有js的最佳方法是什么
要删除
我可以使用regex,但是onclick处理程序(和其他js处理程序)呢
谢谢你的建议!我可以为django推荐一个预构建的解决方案吗 大多数都包含了一些形式的过滤器示例。实际上我自己也在研究TinyMCE
更多信息在这里我建议使用漂白python库,它旨在处理各种特殊情况,是解决您问题的完整解决方案
你不能考虑删除什么。你必须考虑允许什么。这样更安全。搜索“python html净化剂”,选择你最喜欢的。但Antoyo是对的。允许尽可能少,积极。(例如,在单个属性及其值级别的白名单。)将此更改为:
bad\u html=”alert(0);
更改为bad\u html=”:((”
:)谢谢!你真的帮助了我
{{ bad_html|safe }}