推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
ss098
V2EX  ›  Python

Python Web 应用如何解决安全问题?例如 XSS,注入之类的。

  •  
  •   ss098 ·
    ss098 · May 18, 2014 · 8249 views
    This topic created in 4515 days ago, the information mentioned may be changed or developed.
    现在的应用正在使用 Tornado,试了一下接收数据,居然没有过滤。

    因为一直在使用 PHP 开发 Web,所以 Python Web 了解的比较少。

    Google 了好几圈没结果,应该怎么处理这些问题?
    18 replies  •  2014-07-16 17:04:56 +08:00
    ericls
        1
    ericls  
       May 18, 2014
    应该有相应的库吧。。
    对应不同的使用环境
    比如bleach是一个基于白名单的html过滤器
    django flask对于表单都有csrf_token相关的东西
    tornado没用过
    数据库注入我倒是没怎关注过 我连sql都不会 全部交给django orm或者sqlalchemy了
    ipconfiger
        2
    ipconfiger  
       May 18, 2014
    请LZ仔细看文档,可以在文档内搜索csrf 相关内容
    davidli
        3
    davidli  
       May 18, 2014
    使用现成的framework
    补充楼上的, tornado 里是 xsrf_cookies
    SQL injection的话, 写SQL语句的时候只要不手动拼接string,而是使用现成的函数,就能避免了吧。
    binux
        4
    binux  
       May 18, 2014
    为什么要过滤?正确转义不就完了
    yakiang
        6
    yakiang  
       May 18, 2014
    主要还是看官方文档吧
    binux
        7
    binux  
       May 18, 2014   ❤️ 2
    @yakiang 这文章写得好挫啊,居然手动转义html entity,一句话就搞定的事
    $('<div>').text('<a>').html()
    yakiang
        8
    yakiang  
       May 18, 2014
    @binux 之前没仔细看,刚看了一下,确实 →_→
    loading
        9
    loading  
       May 18, 2014 via Android
    flask说都封装好了,看文档就差不多
    kingxsp
        10
    kingxsp  
       May 18, 2014
    MarkupSafe 应该你想要的
    ss098
        11
    ss098  
    OP
       May 18, 2014
    @ericls
    @ipconfiger
    @davidli
    @binux
    @yakiang
    @loading
    @kingxsp

    感谢各位,详细搜索了一下(文档讲的真不清楚),tornado.escape.xhtml_escape 函数可以进行 HTML 转义。
    davepkxxx
        13
    davepkxxx  
       May 18, 2014
    这是一个专门处理xss注入等安全问题的库,我在使用其Java版本的库,我发的连接是Python版本。
    davepkxxx
        14
    davepkxxx  
       May 18, 2014
    这个库还有专门的wiki来帮你分析可能遇到的安全问题。
    https://www.owasp.org/index.php/Main_Page
    mckelvin
        15
    mckelvin  
       May 18, 2014 via Android
    1. 渲染时用Mako一类的模板库可以避免大部分情况下的XSS, 图片URL这种地方还得显式防范下XSS。
    2. 不要拼接SQL字符串,用现成的SQL封装库。
    3. 更多漏洞超出了python语言范围
    wizardoz
        16
    wizardoz  
       May 19, 2014   ❤️ 1
    使用框架的数据库模型的话,一般不会存在注入的问题吧?
    ChanneW
        17
    ChanneW  
       May 19, 2014
    用框架,都有安全中间件的.
    zjnjxufe
        18
    zjnjxufe  
       Jul 16, 2014   ❤️ 1
    用sqlalchemy基本不会存在注入的问题。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2695 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 60ms · UTC 07:25 · PVG 15:25 · LAX 00:25 · JFK 03:25
    ♥ Do have faith in what you're doing.