我是靠谱客的博主 务实眼神,这篇文章主要介绍web安全优化,现在分享给大家,希望可以做个参考。

接口地址隐藏

在进行接口访问之前没有实际的接口地址,接口地址是动态变化的,前端在访问指定接口前先去获取接口的动态地址,然后根据获取的地址去访问真正的接口。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
1. 获取动态路径接口,将生成的路径进行缓存,等待在真正接口中取出进行校验 @RequestMapping(value = "/getSecondKillPath",method = RequestMethod.GET) @ResponseBody @NeedLogin public Result<String> getSecondKillPath(SecondKillUser user,long goodsId){ String str = MD5Utils.md5(UUIDUtil.uuid()) + "8866"; // 将获得的路径缓存到redis,然后在真正的接口中校验path,一致才能够访问真正的接口 jedisUtils.set(SecondKillKey.getSecondKillPath,user.getId()+"_"+goodsId,str); return Result.success(str); } 2. 真正需要访问的接口:这里需要将参数中的path和缓存中的path进行校验, 参数需要加上@PathVariable注解 @RequestMapping(value = "{path}/real_path",method = RequestMethod.POST) @ResponseBody @NeedLogin public Result<Integer> toList2(Model model, SecondKillUser user, long goodsId, @PathVariable("path") String path) { if (!checkPath(user, goodsId, path)){ // 请求非法 return Result.error(CodeMsg.REQUEST_ILLEGAL); } // todo 业务逻辑处理 return Result.success(0); } 复制代码

验证码

作用 :

  1. 防止机器人恶意刷接口
  2. 分担瞬间的流量,将瞬间的并发量分散到几秒中的一个时间内

接口限流防刷

对我们的接口进行压测,预估接口的并发量,然后对用户进行限制,防止用户恶意刷我们的系统

最后

以上就是务实眼神最近收集整理的关于web安全优化的全部内容,更多相关web安全优化内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(77)

评论列表共有 0 条评论

立即
投稿
返回
顶部