是否有一个开源Python库用于清理HTML并删除所有Javascript?

Omn*_*ous 4 javascript python xss parsing

我想编写一个Web应用程序,允许用户输入<div>元素内可能出现的任何HTML .然后,这个HTML将最终显示给其他用户,因此我想确保该站点不会打开人员直到XSS攻击.

Python中是否有一个很好的库可以清除<script>HTML或DOM树中的所有事件处理程序属性,元素和其他Javascript错误?

我打算使用Beautiful Soup来规范HTML,以确保它不包含未封闭的标签等.但是,据我所知,它没有预先打包的方式来删除所有Javascript.

如果有一个很好的库用其他语言,这可能也有用,但我真的更喜欢Python.

我已经完成了一堆谷歌搜索并在pypi上搜寻,但却找不到任何明显的东西.

有关

Ned*_*der 5

正如Klaus所提到的,社区中的明确共识是使用BeautifulSoup来完成这些任务:

soup = BeautifulSoup.BeautifulSoup(html)
for script_elt in soup.findAll('script'):
    script_elt.extract()
html = str(soup)
Run Code Online (Sandbox Code Playgroud)

  • 第二个想法,既然你这样做是为了防止出现安全问题,你真的需要一个允许标记的白名单.通过黑名单过滤器隐藏不良内容的方法太多了. (3认同)