# Java Web项目编码中的CSRF怎么防护？

- Link: https://www.xuepaijie.com/html/skill/devops/282.html
- Published: 2015-07-08T13:48:59+08:00
- Author: Admin

CSRF是Cross Site Request Forgery的缩写（也缩写为CSRF），直译过来就是跨站请求伪造
的意思，也就是在用户会话下对某个CGI做一些GET/POST的事情。这些事情用户未必知道和愿意
做，你可以把它想做HTTP会话劫持。

网站是通过cookie来识别用户的，当用户成功进行身份验证之后浏览器就会得到一个标识其
身份的cookie，只要不关闭浏览器或者退出登录，以后访问这个网站会带上这个cookie。如果
这期间浏览器被人控制着请求了这个网站的url，可能就会执行一些用户不想做的功能（比如
修改个人资料）。因为这个不是用户真正想发出的请求，这就是所谓的请求伪造，因为这些
请求也是可以从第三方网站提交的，所以前缀跨站二字。

举个简单的例子，某个bbs可以贴图，在贴图的URL中写入退出登陆的链接，当用户阅读这个
帖子之后就会logout了，因为用户以自己的身份访问了退出登陆链接，在用户看来是帖子里面
有一张有问题的“图片”，而不是想要退出，但程序就会认为是用户要求退出登陆而销毁其会话。
这就是传说中的CSRF攻击了。

千万别小看CSRF漏洞哦~

**那么怎么处理这样的漏洞呢？**

Github上给出了我们想要的答案：https://github.com/GDSSecurity/Anti-CSRF-Library
