登录的时候,一般是有验证码的,验证码就是一个随机的值,并且回合提交的信息一起验证,就不需要token了。
关键是理解token的作用,他是一个随机的值,是服务器端前一个请求给的,是一次性的,可以防止csrf这种恶意的携带自己站点的信息发请求或者提交数据(这个动作一般需要获取你的前一个请求的响应返回的token值,加大了难度,并不能完全杜绝)。
注意当然不能写到cookie中,因为浏览器在发出恶意csrf请求时,是自动带着你的cookie的,所以cookie一般是在页面信息中的。
CSRF防御没有同步令牌
CSRF可以多种方式阻止。采用同步令牌是一个应用程序可以依赖的相同来源政策通过保持一个秘密的令牌进行身份验证请求防止CSRF的途径之一。这部分的细节,应用程序可以依靠类似的规则,不能打破阻止CSRF漏洞等方式。
检查Referer报头
虽然是琐碎的恶搞引用头在自己的浏览器,它是不可能在一个CSRF攻击这么做。检查引用是一种常用的嵌入式网络设备防止CSRF的方法,因为它不需要每个用户的状态。这是一个有用的参考CSRF的预防方法在内存不足时。这也与CSRF的缓解方法常用的未经身份验证的请求,如请求建立会话状态是需要跟踪一个同步令牌之前。
然而,检查Referer是较弱的CSRF保护。例如,开放重定向漏洞可以被用来利用的基础,是一个获得Referer的检查和一些组织或浏览器工具删除引荐头作为一种数据保护的要求。也有共同实施错误参考检查。例如如果CSRF攻击来源于一个HTTPS域然后引用将被省略。在这种情况下,一个Referer不足应被视为一个攻击请求时执行状态的变化。还要注意的是,攻击者已经在参考影响有限。例如,如果受害人的域”的网站。“然后攻击者有CSRF漏洞源于“网站。com。攻击者。com”的傻瓜一个破碎的参考校验的实现。XSS可以用来绕过参考检查。
总之,Referer的检测是一种合理的形式CSRF的入侵检测和预防虽然不是一个完整的保护。参考检查可以检测攻击,但不停止攻击。例如,如果你的HTTP链接来自不同的领域,你期望从域的请求,你可以安全地块的要求。
检查源头
起源的HTTP头的标准被引入作为一种抵御CSRF等跨域攻击的方法。不像Referer,起源将在HTTP请求,源于一个HTTPS URL呈现。
如果源文件存在,则应检查一致性。
挑战响应
挑战响应是CSRF的另一防御选项。以下是一些挑战性反应选项的例子。
•验证码
重新验证(密码)
一时间令牌
而挑战的反应是一个非常强大的防御CSRF(假设正确执行),不影响用户体验。对于需要高安全性的应用程序,令牌(透明)和挑战应对应使用高风险的功能。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。