1. 前提
- 之前博客已经写了关于Cors解决跨域的问题
- 服务器端对于跨域请求的处理流程如下:
- 首先查看http头部有无origin字段;
- 如果没有,或者不允许,直接当成普通请求处理,结束;
- 如果有并且是允许的,那么再看是否是preflight(method=OPTIONS);
- 如果不是preflight(简单请求),就返回Allow-Origin(必须的)、[Allow-Credentials,Access-Control-Expose-Headers],并返回正常内容。
- 如果是preflight(预先请求),正式通信前多一次预检请求,就返回Allow-Headers、Allow-Methods等,内容为空
- 但是对于cookie的发送,即使设置了cors也不会发送cookie
2. CSRF攻击
- 具体的csrf过程也在之前的博客提到(上面那个链接),CSRF利用的是网站对用户浏览器的信任,攻击者伪造用户浏览器的请求,去访问用户曾经认证访问过的网站。使目标网站接