zoukankan      html  css  js  c++  java
  • flask的安全注意事项,如何防范XSS、CSRF、JSON安全

    参考官方文档:http://docs.jinkan.org/docs/flask/security.html

    1、xss

    Flask 配置 Jinja2 自动转义所有值,除非显式地指明不转义。这就排除了模板导致的所有 XSS 问题,但是你仍需要在其它的地方小心:

    • 生成 HTML 而不使用 Jinja2
    • 在用户提交的数据上调用了 Markup
    • 发送上传的 HTML 文件,永远不要这么做,使用 Content-Disposition: attachment标头来避免这个问题
    • 发送上传的文本文件。一些浏览器使用基于开头几个字节的 content-type 猜测,所以用户可能欺骗浏览器执行 HTML

    另一件非常重要的事情是未用引号包裹的属性。虽然 Jinja2 可以通过转义 HTML 来保护你免受 XSS 问题,仍有一种情况,它不能保护你: 属性注入的 XSS 。为了应对这种攻击媒介,确保当在属性中使用 Jinja 表达式时,始终用单引号或双引号包裹属性:

    <a href="{{ href }}">the text</a>
    

    为什么这是必要的?因为如果你不这么做,攻击者可以容易地注入自制的 JavaScript 处理器。譬如一个攻击者可以注入这段 HTML+JavaScript:

    onmouseover=alert(document.cookie)
    

    当用户鼠标经过这个链接, 会在警告窗口里把 cookie 显示给用户。一个精明的攻击者可能也会执行其它的 JavaScript 代码,而不是把 cookie 显示给用户。 同 CSS 注入联系在一起,攻击者甚至使得元素填满整个页面,这样用户鼠标在页面上的任何地方都会触发攻击。

    2、csrf

    flask是没有抵抗csrf能力的,建议重要操作都要有一个一次性令牌

  • 相关阅读:
    python连接字符串的几种方法--转子(香草拿铁的园子)
    winform属性
    C# Timer
    SQL基础
    SQL 基础
    File类 ReadAllBytes() ReadAllLines() ReadAllText()
    学习C#20天有感
    装箱和拆箱
    机器学习基础:朴素贝叶斯小结
    分类问题样本不均衡问题
  • 原文地址:https://www.cnblogs.com/shengulong/p/7693107.html
Copyright © 2011-2022 走看看