• csrf跨站请求伪造


    如何杜绝跨站请求伪造?

    1.要让服务器知道本次请求是不是冒用了用户的身份→

    2.服务器发给用户一个凭证,用户请求时需携带此凭证→

    3.此凭证只能用户看到而且冒用者看不到→

    4.这就用到了浏览器的安全机制(同源策略).比如

       1.js不能访问本页面其他域的iframe(试图访问,chrome会报错Blocked a frame with origin "null" from accessing a cross-origin frame)

       2xhr对象不能跨域请求

       3.js不能访问其他窗口的内容(窗口A定义变量var a,在窗口B访问a(若窗口B没有定义变量a),会是undefined)

    5.不要把关键的请求的动作放在URI中,因为如果用户点击了恶意者发过来的链接就会被坑.

    5.因此要把此秘钥放在用户发起请求所在的页面中(header,input),其他域引用的js脚本无权访问这个页面的内容.

    6.发起请求绝对不能是get,放在

    7.在服务器端,把此秘钥存在SESSION里.或在浏览器端,存在COOKIE里,但一定设置为http-only,防止其他域的脚本偷看此COOKIE

    8.在服务器端,对header或input的秘钥值与cookie或session的秘钥对比

    疑问,为何放在cookie中多此一举,就算http only,万一cookie被攻陷了怎么办?链接

    OK了

  • 相关阅读:
    第07组 Alpha事后诸葛亮
    第07组 Alpha冲刺(4/4)
    第07组 Alpha冲刺(3/4)
    第07组 Alpha冲刺(2/4)
    第07组 Alpha冲刺(1/4)
    2021-7-15
    2021-7-13工作笔记
    第07组 Beta版本演示
    第07组 Beta冲刺(2/4)
    第07组 Beta冲刺(3/4)
  • 原文地址:https://www.cnblogs.com/ch459742906/p/6053179.html
Copyright © 2020-2023  润新知