重放攻击:指的是入侵者拦截了用户发送的数据包,然后再重新传输给服务器,最终的结果是如果捕获到的数据包中包含认证信息,入侵者就能够冒充用户。
预防重放攻击:
1、首先要做到用户的每次请求都带有一次性标识nonce,然后服务端需要存储以及对比每次请求的nonce,这样每一次请求就都是一次性的,无法被重复利用。
2、仅仅添加nonce参数虽然能达到效果,但是nonce将会变得很大,难以维护与检索,所以需要添加timestamp参数,将服务端接受的请求的时间区间限制在一定区间,比如±3分钟,超过这个时间区间的请求将视为非法的,这样一来,我们就可以对nonce设置过期时间了,这样使用redis来维护nonce的体量将会大大缩小。