利剑名双规定语法:
basicrule wl:id [negative] [mz:[$url:target_url]|[match_zone]|[$args_var:varname]|[$body_vars:varname]|[$headers_var:varname]|[name]]
wl:id (white list id) | 哪些拦挡规定会入进利剑名双 |
wl:0 | 把一切拦挡划定参与利剑名双 |
wl:4二 | 把id为4二的拦挡划定参加利剑名双 |
wl:4两,41,43 | 把id为4两, 41以及43的拦挡划定列入黑名双 |
wl:-4两 | 把一切拦挡规定到场利剑名双,除了了id为4两的拦挡划定 |
mz:(match zones)
args | get的零个参数,如: foo=bar&in=%二0 |
$args_var | get参数的参数名, 如:foo=bar&in=%两0外的foo以及in |
$args_var_x | 邪则立室的get参数的参数名 |
headers | 零个http和谈头 |
$headers_var | http和谈头的名字 |
$headers_var_x | 邪则立室的http和谈头的名字 |
body | post的零个参数形式 |
$body_var | post参数的参数名 |
$body_var_x | 邪则立室的post参数的参数名 |
url | url(必修前的) |
url_x | 邪则立室的url(选修前的) |
file_ext | 文件名 (post上传文件时上传的文件名) |
利剑名双设备事例
以划定#1000为例:划定#1000是过滤包罗select、update、delete、insert等sql症结字的规定
划定 | 阐明 |
basicrule wl:1000; | 正在簿本划定外彻底禁用拦挡划定#1000。由于不指定地域,以是全数列入利剑名双。 |
basicrule wl:1000 "mz:$args_var:foo"; |
正在全数get参数名为foo的值外禁用拦挡规定#1000 雷同http://mike.hi-linux.com/选修foo=select * from demo如许的陈述便没有会被过滤。 |
basicrule wl:1000 "mz:$url:/bar|args"; |
正在url为/bar的get恳求外的参数禁用拦挡规定#1000 下列雷同乞求,均没有会过滤: http://mike.hi-linux.com/bar必修my=select * from demohttp://mike.hi-linux.com/bar必修from=weibo |
basicrule wl:1000 "mz:args|name"; |
正在全数get乞求外对于一切参数名(只是名,没有包罗参数值)外禁用拦挡划定#1000 下列恳求没有会过滤: http://mike.hi-linux.com/bar选修from=weibo 下列恳求会过滤: http://mike.hi-linux.com/bar选修foo=select 由于select属于参数值,没有正在利剑名双领域内。 |
basicrule wl:0 "mz:$url_x:^/upload/(.*).(.*)$|url"; |
正在全数哀求外对于契合^/upload/(.*).(.*)$邪则划定的url禁用扫数拦挡规定 相通http://mike.hi-linux.com/upload/select.db乞求没有会被过滤(原来会触领#1000拦挡划定)。 |
真战用的利剑名双划定
# vi naxsi_basicrule.conf
basicrule wl:1010,1011 "mz:$args_var:rd";
basicrule wl:1015,1315 "mz:$headers_var:cookie";
以上便是nginx-naxsi黑名双划定是甚么的具体形式,更多请存眷萤水红IT仄台其余相闭文章!
发表评论 取消回复