zoukankan      html  css  js  c++  java
  • Flask-状态保持-CSRF

    问题:cookies基于浏览器的同源策略,不同域名的cookie不能相互访问,为什么可以进行跨站请求伪造呢?

    原因:cookie基于浏览器的同源策略,确实是在实现状态保持的时候,不能跨域访问。

    跨站请求的伪造过程:是其他网站伪造访问原网站的请求,导致的一系列信息泄露。

    具体伪造过程:

     如何防止CSRF的过程呢,还是需要通过一系列双向验证来保证:

    在用户请求服务器的时候,服务器向cookie中写入csrf_token,浏览器的form表单中也会写入csrf_token,在浏览器进行下一次请求的时候,服务端会取到这两个token进行比对,一致就能验证是用户自己访问,不一致,就会存在伪造风险。

    1. 在客户端向后端请求界面数据的时候,后端会往响应中的 cookie 中设置 csrf_token 的值
    2. 在 Form 表单中添加一个隐藏的的字段,值也是 csrf_token
    3. 在用户点击提交的时候,会带上这两个值向后台发起请求
    4. 后端接受到请求,以会以下几件事件:
      • 从 cookie中取出 csrf_token
      • 从 表单数据中取出来隐藏的 csrf_token 的值
      • 进行对比
    5. 如果比较之后两值一样,那么代表是正常的请求,如果没取到或者比较不一样,代表不是正常的请求,不执行下一步操作
  • 相关阅读:
    测试小技巧之常用工具
    测试小技巧之浏览器插件
    可变参数列表
    对象属性和数组元素的初始默认值
    静态块(变量)和非静态块(变量)
    类初始化顺序
    基本类型的重载规则
    构造器访问权限控制
    MySQL Server架构图
    递归与非递归实现树的遍历(java)
  • 原文地址:https://www.cnblogs.com/alicelai1319/p/10274472.html
Copyright © 2011-2022 走看看