一.自定义规则编写
1.主要变量
2.12个变量
URI--------------------http://10.67.8.118:8889/abc/shell.php
URI-path--------------------/abc/shell.php
Host--------------------10.67.8.118:8889
Parameter-name--------------------id(id=123)
Parameter--------------------123
Header-name--------------------Accept-Encoding(举例)
Header--------------------gzip,deflate
Cookie-name--------------------id(id=1)
Cookie--------------------1
Version--------------------1.1(HTTP/1.1)
Method--------------------POST
Request-Body--------------------id=123
3.了解URL
上面整个都属于URI,它包括协议、认证、地址、端口、路径、参数、标识符等
4.了解正则表达式
\w 匹配单词字符,等价于[A-Za-z0-9_]
\W 匹配非单词字符
\s 匹配不可见字符,等价于[\f\n\r\t\v]
\S 匹配可见字符
\d 匹配数字,等价于[0-9]
\D 匹配非数字
* 表示匹配任意次
?表示匹配0次或1次
+ 表示至少匹配一次
^ 行匹配时表示开始
$ 行匹配时表示结尾
如果要匹配在正则表达式中有特殊含义的字符,则需要在字符前加反斜杠,如:
要匹配\w 则要写\w,要匹配则要写*
正则表达式默认贪婪匹配,加个?可以非贪婪匹配,如:.?
小括号代表一个分组,中括号代表要匹配的字符集,大括号表示匹配的次数范围
5.URI
我们使用uri这个变量,主要是使用正则包含这个条件。只要在uri中包含我们的检测值,
请求均可被该自定义策略阻断。
6.URI-PATH/请求路径
这里需要注意的是如果是正则等于,在检测值中需要注意开始的“/”也要加上。正则等于是精准匹配,
即uri-path必须要是我们的检测值才会被阻断,包含检测值是不会被阻断的