我想显示用户输入的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, 'template.html', {'bad_html': bad_html})
这里的代码在我的模板中:
{{ bad_html|safe }}
bad_html应该像这个<p onclick="">:((</p>
从这个html中删除所有js的最佳方法是什么?
要删除<script>
我可以使用正则表达式,但是onclick处理程序(以及其他js处理程序)呢?
感谢您的建议!
答案 0 :(得分:1)
我建议使用漂白python库,它旨在处理各种特殊情况,并为您的问题提供完整的解决方案
答案 1 :(得分:0)
我可以为django https://www.djangopackages.com/grids/g/forms/建议一个预建的解决方案 大多数都包含某种形式的过滤器示例。我实际上是在调查TinyMCE。