我在 server 端写了一个方法:
generate_token();//全局方法, 我所有页面都可以调用
$token = generate_token();
该方法用来产生一个64位随机字符串,这个字符串被用来存放在$_SESSION['_token', $token];中
在表单页面中,如:form.php 我自动加入了
<input type="hidden" name="_token" value="<?php echo generate_token(); ?> " />
如果form.php页面被刷新一次,则产生一个随机字符串,表单提交,判断该值是否等于服务器端的$_SESSION['_token'];
不等则拒绝请求,相等则接收该次请求,然后调用 generate_token();重新生成并保存token;
------------
上面的就是我的思路,我其实对CSRF攻击也不是很了解,网上的资料找了,但我就只能理解到上面的意思,且不知道对不对,希望博客园的大牛能提点一下:
如何有效阻止CSRF攻击?
------------谢谢先!!:)
不懂csrf攻击,学习一下。