目录

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

传参数规则

使用zookeepr对重复提交做限制

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

是否已经查询

由于 randomNum 是时间戳+4位随机数,所以我们可以在每次查询时,在数据库 查询记录log表中查询一下是否已经查询过,时间戳是否有效,防止重复请求,
使用zookeepr对重复提交做限制
如果在数据库中存在这条记录,那么就是 非法的请求

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

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

相关文章:

  • 2021-12-25
  • 2021-12-11
  • 2021-11-12
  • 2021-11-18
  • 2021-06-16
猜你喜欢
  • 2022-12-23
  • 2021-07-28
  • 2022-12-23
  • 2021-11-12
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案