使用zookeepr对重复提交做限制

目录

前言: 对于向外暴露的接口,通常我们都要做 重复提交的限制和判断,

传参数规则

这里写图片描述

eg:
这里写图片描述
传入的参数 前三个 使用
a=asdf&b=asdfasd&c=asdfasd + 私匙 +SHA1withRSA进行加密 生成 sign字段
我的接收方 这边 我利用自己的公匙,对
这里写图片描述
其进行校验,是否又被更改,是否是 真实的商户
Base64.decodeBase64 是解码的意思,我会根据商户的 code拿出 这个商户对应的 公匙,但是我的公匙 存在数据库也是 base64加密的,
String SIGN_ALGORITHMS = “SHA1withRSA”;
由于传输过程中 对 sign也进行了 base64加密,所以验证时 需要解密

是否已经查询

由于 randomNum 是时间戳+4位随机数,所以我们可以在每次查询时,在数据库 查询记录log表中查询一下是否已经查询过,时间戳是否有效,防止重复请求,
这里写图片描述
如果在数据库中存在这条记录,那么就是 非法的请求

判断请求是否需要进行限制

这里写图片描述
使用 节点路径+平台号+用户名
如果在 zookeeper中不存在 证明是第一次进来的请求
这里写图片描述
使用 zookeeper的client端做临时节点的判断,如果有这个那么就是说 已经存在 一次这个请求,不能再提交请求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值