###什么是CSRF?
举个栗子,比如我们需要在某个博客上删除一个文章,攻击者首先在自己的域构造一个页面,使用了一个img标签,其地址指向了删除博客的链接。攻击者诱使目标用户,也就是博客主访问这个页面,该用户看到了一张无法显示的一张图片,这时候在回头看看该博客的这篇文章,发现文章已经被删除了,原来刚才的图片链接香博客服务器发送了一个get请求,而这次请求,导致了博客上的一边文章被删除了。在整个攻击过成功,攻击者仅仅诱使用户访问了一个页面,就以该用户身份的第三方站点里执行了一次操作。这个删除博客文章的请求都是攻击者所伪造的,所以这种攻击就叫做“跨站点请求伪造”。
###浏览器cookie策略
攻击者伪造的请求之所以能够被服务器验证通过,是因为用户的浏览器发送了cookie的缘故。浏览器所持有的cookie分为两种:一种是‘Session Cookie’,又称“临时Cookie”:另一种是“Third-party Cookie”,也称为“本地Cookie”。两者的区别在于,后者是服务器在Set-Cookie时制定了Expire实践,只有到了Expire时间后Cookie才会失效,所以这种Cookie才会失效,所以这种Cookie会保存在本地:而Session Cookie则没有制定Expire时间,所以浏览器关闭后,Session Cookie就失效了。
在浏览网站过成功如果一个网站设置了Session Cookie,那么在浏览器进程的生命周期内,即使浏览器新打