什么是 CSRF 攻击?
CSRF 概念:CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者 Session Riding,通常缩写为 CSRF 或者 XSRF,是一种对网站的恶意利 用。
尽管听起来像跨站脚本(XSS),但它与 XSS 非常不同,XSS 利用站点内的信任用户,而 CSRF 则通过伪装成受信任用户的请求来利用受信任的网站。
与 XSS 攻击相比,CSRF 攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难 以防范,所以被认为比 XSS 更具危险性。
CSRF 攻击原理
浏览器中 HTTP(s) 请求是会自动帮我们把 cookie 带上传给服务端的。这样在每次请求的时候通过 cookie 获取 session id,然后 通过它在服务端获取登录信息即可完成用户权限的校验。 本来这也是个不错的功能。但是由于 cookie 实在是太开放了,如果一个用户在 A 网站 登录了,并且在没有登出的情况下(没有清除本地信息,包括 cookie),用户在 B 网站 访问的时候发送了一个 A 网站的请求,那么这个请求其实是带有这个用户在 A 网站的登 录信息的。如果这时候 B 站发送的 A 网站请求是用户不知道的