主要观点总结
本文主要介绍了API接口防篡改、防重放攻击的常见方案,包括参数加密、请求时间限制等,并详细描述了实现方法。
关键观点总结
关键观点1: API接口暴露问题
API接口提供给第三方服务调用,接口上提供了具体的请求地址和请求参数,接口可能被人抓包拦截并对请求参数进行修改后再次发起请求,可能导致信息被盗取或服务器受到攻击。
关键观点2: 防止接口参数篡改
前端使用约定好的秘钥对传输参数进行加密,得到签名值sign1,并将签名值存入headers后发送请求给服务端。服务端接收客户端的请求后,在过滤器中使用约定好的秘钥对请求的参数再次进行签名,得到签名值sign2,对比两者的值来判定是否为合法请求。
关键观点3: 防止接口重投放
基于timestamp对参数进行签名,每次http请求都加上timestamp时间戳和请求的参数一起进行数字签名。服务器收到请求后判断时间戳参数与当前时间是否超过设定时间(如60s),如果超过则提示签名过期,如果修改timestamp参数则sign参数对应的数字签名会失效。
关键观点4: 代码设计思路
主要是通过创建过滤器,对参数进行签名验证。过滤器代码包括初始化、doFilter(过滤)、响应错误信息等部分,并在yml配置文件中进行配置重放超时时间和不过滤的URI地址。
免责声明
免责声明:本文内容摘要由平台算法生成,仅为信息导航参考,不代表原文立场或观点。
原文内容版权归原作者所有,如您为原作者并希望删除该摘要或链接,请通过
【版权申诉通道】联系我们处理。