共计 744 个字符,预计需要花费 2 分钟才能阅读完成。
一、基于工夫戳解决方案
1、一次失常的 http 申请,响应工夫般在 5s 内实现,基本上不会超过 60s, App 依据本人接口的响应工夫设置阀值
2、客户端每次发动清求,携带以后工夫载
3、服务器接管申请后,校验客户端工夫戳与服务端工夫戳的差值,超过了 60s 既认为是重放攻打
优缺点: 实现简略无效,但在 60s 内,黑客仍可实现重放攻打,工夫戮最好再加盐解决。
二、基于随机数解决方案
1、客户端每次发动申请,都须要携带随机数 id (要求惟一即可)
2、服务端接管到申请后,先校验用户携带的随机数 id 是否存在,不存在,将随机数 id 存储到数据库或缓存服务器中,存在: 既认为是重放攻打
优缺点: 实现简略无效,但随着申请量越多,存储的数据会越来越大。
三、基于流水号解决方案
1、客户端、服务端在报文中增加一个逐渐递增的整数,只有接管到一个不间断的流水号报文,即认定有重放威逼。
优缺点: 长处是不须要工夫同步,保留的信息量比随机数形式小;毛病是一旦攻击者对报文解密胜利,就能够取得流水号,从而每次将流水号递增坑骗认证端。
四、基于工夫戳和随机数的解决方案
1、一次失常的 http 申请,响应工夫个别在 5s 内实现,基本上不会超过 60s, App 依据本人接口的响应工夫设置阀值
2、客户首每次发动申请,携带以后工夫戳和随机数 id
3、服务端接管申请后,先校验客户端工夫戳与服务端工夫戳的差值,超过了 60s 既认为是重放攻打,若未超过 60 秒,则校验用户携带的随机数 id 是否存在,不存在,将随机数 id 存储到数据库或缓存服务器中,存在认为是重放攻打。
举荐浏览:
https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA
https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g