所谓的CSRF(crossing site request forgery)跨站请求伪造攻击,其实原理很简单,这个也是以前比较流行的一种攻击网站的方式,黑客可能会利用这个对用户造成一定的损失或者网站受到一些破坏性的攻击,还可以用来传播病毒,下面我就来详细的讲解一下。
首先,它是基于很多网站使用cookie-session机制,当一个用户登陆了一个网站之后,又打开了一个新的标签,去访问其他的网站,这个时候,某些钓鱼网站就会在页面上放一些图片和其他的广告什么的,然后里面隐藏了一些脚本或者超链接,当用户不小心点了之后,就会向最开始登陆的网站发送了一个请求,而这个时候,cookie还存活,自然就会跟着这个请求一起带过去,也就被网站验证为登陆用户,而实际上用户可能完全不知道发生了什么。就是这样,so easy是不是。
下面就来说一下,怎么样让网站抵抗csrf攻击。
1.不使用cookie-session机制,采用现在比较流行的token验证机制来代替。
2.尽量降低cookie的存活时间
3.使cookie有更小的域
这些只是我的个人理解,我就只能想到这么多,如果大家有更好的解决办法,欢迎在下方留言讨论。