简介

  • 有一个小小的东西叫cookie大家应该知道,一般用来处理登录等场景,目的是让服务端知道谁发出的这次请求。如果你请求了接口进行登录,服务端验证通过后会在响应头加入Set-Cookie字段,然后下次再发请求的时候,浏览器会自动将cookie附加在HTTP请求的头字段Cookie中,服务端就能知道这个用户已经登录过了。知道这个之后,我们来看场景:
  1. 你准备去清空你的购物车,于是打开了买买买网站www.maimaimai.com,然后登录成功,一看,购物车东西这么少,不行,还得买多点。
  2. 你在看有什么东西买的过程中,你的好基友发给你一个链接www.nidongde.com,一脸yin笑地跟你说:“你懂的”,你毫不犹豫打开了。
  3. 你饶有兴致地浏览着www.nidongde.com,谁知这个网站暗地里做了些不可描述的事情!由于没有同源策略的限制,它向www.maimaimai.com发起了请求!聪明的你一定想到上面的话“服务端验证通过后会在响应头加入Set-Cookie字段,然后下次再发请求的时候,浏览器会自动将cookie附加在HTTP请求的头字段Cookie中”,这样一来,这个不法网站就相当于登录了你的账号,可以为所欲为了!如果这不是一个买买买账号,而是你的银行账号,那……
    这就是传说中的CSRF攻击浅谈CSRF攻击方式。
  • 形式:由于浏览器同源策略,范式请求url的协议、域名、端口三者之间任意一个与当前页面地址不同即为跨域。形式如下
    • 网络协议不同,如http协议访问https协议。
    • 端口不同,如80端口访问8080端口。
    • 域名不同,如qianduanblog.com访问baidu.com。
    • 子域名不同,如abc.qianduanblog.com访问def.qianduanblog.com。
    • 域名和域名对应ip,如www.a.com访问20.205.28.90。

      CORS跨域资源共享

  • 同源策略禁止跨域请求,但是这会给我们带来许多不便,所以在防止供给的前提下出现了跨域资源共享CORS(Cross-Origin Resource Sharing),是现代浏览器支持跨域资源请求的一种最常用的方式。