用于XSS过滤的Python库?

时间:2009-05-23 11:29:48

标签: python xss

是否有一个良好的,积极维护的python库可用于过滤恶意输入,如XSS?

3 个答案:

答案 0 :(得分:8)

如果您使用的是Web框架和模板引擎(如Jinja2),那么模板引擎或框架可能会内置一些内容。

cgi模块中有一些东西可以帮助你:

cgi.escape('malicious code here'),请参阅:http://docs.python.org/library/cgi.html#cgi.escape

Jinja2也提供了转义:

from jinja2 import utils
str(utils.escape('malicious code here'))

答案 1 :(得分:3)

您可以在Python中轻松编写XSS防御代码,例如,请参阅http://code.activestate.com/recipes/496942/以获取有用且有用的代码。

答案 2 :(得分:1)

Strip-o-Gram库看起来很不错。我没有正确地检查它,但看起来它做得很好(即可以将你指定的HTML标签列入白名单,以及HTML转义任何令人讨厌的东西)。

以下是该页面引用的示例用法代码段:

  from stripogram import html2text, html2safehtml
  mylumpofdodgyhtml # a lump of dodgy html ;-)
  # Only allow <b>, <a>, <i>, <br>, and <p> tags
  mylumpofcoolcleancollectedhtml = html2safehtml(mylumpofdodgyhtml,valid_tags=("b", "a", "i", "br", "p"))
  # Don't process <img> tags, just strip them out. Use an indent of 4 spaces 
  # and a page that's 80 characters wide.
  mylumpoftext = html2text(mylumpofcoolcleancollectedhtml,ignore_tags=("img",),indent_width=4,page_width=80)

希望有所帮助。