zoukankan      html  css  js  c++  java
  • 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了

  • 相关阅读:
    codeforces 1349 A 思维
    codeforces 1358 D 尺区
    codeforces 1251D 二分+贪心
    codeforces 1260 D 二分
    codeforces 1167B 交互ez
    volatile
    计算多级集合/树/部门树的深度
    Java学习路线-知乎
    day06
    day01_虚拟机与主机之间ip配置
  • 原文地址:https://www.cnblogs.com/ch459742906/p/6053179.html
Copyright © 2011-2022 走看看