网站首页 文章专栏 api设计之防重放攻击
api设计之防重放攻击
编辑时间:2021-08-05 10:59:31 作者:Echosong 浏览量:1328

一:目的


 被攻击者捕获到请求,原封不动的进行二次请求,造成不必要的损失。


二:如何预防


 timestamp + nonce


timestamp是请求的时间戳,对请求的实效进行判定。 从客户端到服务端接受,一般设定为60s足够了。

nonce是生成具有唯一性的随机数,比如设定timestamp的实效性后,还留有60s的间隙,如何预防呢,将nonce设为有效期60s,当请求时有相同nonce的请求,则是非法请求。一般利用redis的有效期。


三:扩展


防数据篡改


md5+密钥

为了防止请求数据参数被篡改。   客户端可以将请求参数+密钥用md5加密生产sign,服务端也用相同的md5(请求参数+密钥),如果得出的结果相同,证明没有被篡改。

-出处:https://www.huaweicloud.com/articles/a637afa7d9a6f3e351c7ce977fbf1227.html

           https://blog.csdn.net/guyue35/article/details/81778428


来说两句吧
最新评论
  • nn 2021-08-03 21:13:06
    nn
  • ww 2021-08-03 21:13:20
    www
  • <script>alert('ddd')</script> 2021-08-03 21:13:41
    <script>alert('ddd')</script>
  • 666 2021-08-04 01:35:51
    112233
  • sad 2021-08-04 11:44:36
    sad 
  • <script>alert('ddd')</script> 2021-08-04 11:44:51

    sad <script>alert('ddd')</script>

  • 说鸡儿 2021-08-04 16:35:28
    说鸡儿
  • test 2021-08-04 18:29:26
    <script>alert('test')</script>
  • 123123 2021-08-06 14:48:01
    666666666
  • http://a.a.123 2021-08-10 13:45:58
  • pppp 2021-08-10 18:25:51
    ppp
  • aaaa 2021-08-10 18:26:53
    <div>123</div>
  • sadf 2021-08-10 18:27:07
    <div>123</div>
  • 大法师 2021-08-17 15:49:10
    问问阿斯顿发