一. 防重发攻击方案
nonce是仅一次有效的随机字符串,要求每次请求时,该参数要保证不同,我们在产品中使用了一个随机字串,作为种子,按md5生成的字符串,作为nonce参数。
我们将每次请求的nonce参数存储到一个redis中。 每次处理HTTP请求时,首先判断该请求的nonce参数是否在redis中,如果存在则认为是非法请求。
二. 那么在Jmeter中我们如何实现random string 和 nonce 同时在一个http request里面发出来呢?
这里就要用到 “用户参数” 这个 前置处理器
“用户参数”的设置如下
因为nonce的值每次都有变化,所以“Update Once Per Iteration”需要勾选上
其中的RandomString 和 digest 函数可以在函数助手里面找到
这样就可以再http request 中使用者两个参数了