zoukankan      html  css  js  c++  java
  • CSRF攻击

    • CSRF攻击能够成功,是因为黑客可以完全伪造用户的请求,该请求中所有的用户验证信息都是存在于cookie中,因此黑客可以在不知道这些验证信息的情况下直接利用用户自己的cookie来通过安全验证。
    • 关键是验证授权用户和发起请求者是否是同一个人。
    • 要抵御 CSRF,关键在于在请求中放入黑客所不能伪造的信息,并且该信息不存在于 cookie 之中
      • 由于Cookie中的信息是自动带上的,攻击者就是利用了这一点,因此只需要请求中(比如header中)还有其他需要验证的信息即可,只要不要攻击者纯粹利用自动带上的cookie就能通过验证就行。
    • CSRF 令牌
      • 可以在 HTTP 请求中以参数的形式加入一个随机产生的 token,并在服务器端建立一个拦截器来验证这个 token,如果请求中没有token或者 token 内容不正确,则认为可能是 CSRF 攻击而拒绝该请求。这种方法要比检查 Referer 要安全一些,token 可以在用户登陆后产生并放于session之中,然后在每次请求时把token 从 session 中拿出,与请求中的 token 进行比对
    • X-CSRF-Token
      • 除了将 CSRF 令牌作为 POST 参数进行验证外,还可以通过设置X-CSRF-Token请求头来实现验证,VerifyCsrfToken 中间件会检查 X-CSRF-TOKEN 请求头,首先创建一个 meta 标签并将令牌保存到该 meta 标签:
    • X-XSRF-Token
      • Laravel 还会将 CSRF 令牌保存到名为 XSRF-TOKEN 的 Cookie 中,你可以使用该 Cookie 值来设置 X-XSRF-TOKEN请求头。一些 JavaScript 框架,比如 Angular,会为你自动进行设置,基本上你不太需要手动设置这个值。
  • 相关阅读:
    Android中ScrollView嵌套GridView,解决GridView显示不全的问题
    Android图片缓存的框架ImageLoader的使用
    iOS调用系统的电话功能
    SVN提交.a文件的方法
    使用NSURLSession请求需要AD认证的HTTPS服务器
    Android基本控件属性设置
    iOS获取运营商的相关信息
    Android中颜色的设置
    UICollectionView未充满时也可以滚动
    cocos2dx for lua 截屏功能
  • 原文地址:https://www.cnblogs.com/wyp1988/p/11936486.html
Copyright © 2011-2022 走看看