from : http://hi.baidu.com/aullik5/blog/item/b2cdb4444d061c21cffca3a5.html
防范CSRF攻击的方案有许多种,有用验证码来防的(
tenfy:方案比较重,适合于敏感数据的变更类操作,对一般查询信息类不是很合适),更多的是生成一个
随机的token,当用户提交的时候,在服务器端比对一下token值是否正确,不正确就丢弃掉,正确就验证通过。
(因为有些人喜欢钻牛角尖,所以再次强调下,我们习惯于区分 CSRF和 XSRF,后者是在 XSS的情况下,防范CSRF和防范XSS是需要分开的两套防御方案)
由于CSRF的防范原理是比对token,所以需要存在两个token用来比对,其中一个,已经下发到用户的返回页面里去了,而且是用户提交请求时候的一个必须的参数。另外一个token,一般就存在于服务器的session中;当然这样会造成依赖于session,使得在restful的架构环境下不好在不同服务期间拷贝session,所以,还有一种做法就是将token放到保存了完整session的cookie中。
JJYY了这么多ÿ
(因为有些人喜欢钻牛角尖,所以再次强调下,我们习惯于区分 CSRF和 XSRF,后者是在 XSS的情况下,防范CSRF和防范XSS是需要分开的两套防御方案)
由于CSRF的防范原理是比对token,所以需要存在两个token用来比对,其中一个,已经下发到用户的返回页面里去了,而且是用户提交请求时候的一个必须的参数。另外一个token,一般就存在于服务器的session中;当然这样会造成依赖于session,使得在restful的架构环境下不好在不同服务期间拷贝session,所以,还有一种做法就是将token放到保存了完整session的cookie中。
JJYY了这么多ÿ