CSRF介绍
跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。
简单的说,就是利用游览器对用户的信任,比如,用户已经登录了ww.aaa.com,自然aaa这个网站就会将用户的登录状态session存在cookie中;
然后,aaa.com这个网页有一个对作品点赞的功能,点赞提交地址为aaa.com/api.like?id=777
;
这时,另外一个叫www.bbb.com的网站,放了这样一个元素<img src="aaa.com/api.like?id=888">
,这样的话,一旦用户进入这个bbb.com页面,就会请求aaa.com这个网站的点赞接口,而且点赞的用户对象是888;
最后因为用户的登录信息尚未过期,那就等于给id为888这个作品点赞了,然而,用户并不知情。
防御方式
有两种方法:
- 后端判断referer是