给你所需要的内容!
坚持不易,且行且珍惜!

Thor技巧:制作规则时,必须加判断条件!

有人问我thor制作规则时,有的人加判断条件,有的人不加,那到底是加好?还是不加好?

我的答案是必须加!

  • 判断条件的定义与作用

1、定义

判断条件是制作thor规则时候针对不同情况可以选择是否执行你的规则的一种命令。

2、作用

它的作用是精准的判断你设置的条件,如果满足条件就能命中断点,从而触发你的规则,不满足条件,就无动作。所以说判断条件是一个先决条件,必须要加。

通过上图,可以看到这些命令其实也分为请求和响应,什么?有人还不会区分请求和响应?我再说一遍req开头的请求,rsp开头的是响应。

  • 不加判断条件行不行?

行,没说不行,但是很容易出问题,会导致你的规则可能会误操作。

前几天,有人在群里问我为什么自己做的规则触发不到那个包,我当时回答是可能是触发了白名单。他说触发到别的数据包里去了,那我立即判断它肯定没加判断条件,果不其然,就是这个问题。

  • 为什么不加判断条件会误操作?

比如你设置一个替换响应体的命令是匹配遇到的”1″替换成”2″。当你运行这个规则的时候,好家伙,只要遇到响应体带1的全都给你替换成2,不管你想不想替换。这样说,有朋友可能理解不了,那我举个通俗易懂的例子。

场景:学校开运动大会,

已知条件:学校有8个叫小明的。

老师在台上发言:“下面请小明上台领奖。”台下一下站起来8个小明,面面相觑一头雾水。

这就是没有判断条件造成的,

如果加上条件,“请3年级2班的小明上台领奖”这样就很精确了,其他7个小明不会有动作的。

  • 常用的判断条件

虽然判断条件的命令很多,但常用的是@req.host、@req.api。其他的命令固然也有相对应的作用,一般很少用,如果对请求头里的值有判断,那可以用@req.header[“对应的请求头”]去判断。

@req.api一般用于判断路径,这个是最常用。

@req.host用来判断主机名,CONTAINS[cd]表示不区分大小写。

也可以写成@req.host=”xxx.com”,这里可以用一个”=”,也可以用”==”,两个等于号指的是绝对值。

提示:主机名不带www.

  • 总结

我们在调试网络数据的时候,有时候不同的路径下返回的数据有的不同,有的反倒是差不多,有时候一个路径下的响应体会有多个相同的值(这时候就要改变你的正则表达式,要不然会把所有一样的键值都替换掉),所以如果不加判断条件,很容易把所有的响应数据都更改,或者更改的不是你想要的路径,因此我希望大家在制作自己的规则时,必须要加上判断条件。

赞(0) 打赏
这些信息可能会帮助到你: 下载帮助 | 报毒说明 | 进站必看 | 广告投放
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《Thor技巧:制作规则时,必须加判断条件!》
文章链接:https://www.heu8.net/gaoxiao/1655.html
免责声明:本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担。本站为个人博客非盈利性站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途,网站会员捐赠是您喜欢本站而产生的赞助支持行为,仅为维持服务器的开支与维护,全凭自愿无任何强求。

评论 抢沙发

评论前必须登录!

立即登录  注册

如果本文对您有所帮助,请赞赏作者进行支持呦~

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏