目录
前言: 对于向外暴露的接口,通常我们都要做 重复提交的限制和判断,
传参数规则
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端做临时节点的判断,如果有这个那么就是说 已经存在 一次这个请求,不能再提交请求