防御CSRF
为什么CSRF攻击会成功,一个重要的原因就是参数被攻击者猜到了,就像前一篇介绍CSRF的文章,直接把要删除的文章ID放到了参数里。
那么CSRF如何防御?
验证码
验证码应该是最有效的手段,但是出于用户体验,应该少用。
referer
就像图片的防盗链原理一样,使用HTTP头的referer就行了。
token
就是说,通过加密与随机数生成一个用户一个操作的token,服务器通过这个token来验证,这个token的参数不应该能让攻击者猜到。
而且,token要避免放到地址栏,最好放到表单里,以免泄露。