首頁  >  文章  >  運維  >  nginx-naxsi白名單規則是什麼

nginx-naxsi白名單規則是什麼

PHPz
PHPz轉載
2023-05-13 16:19:141075瀏覽

白名單規則語法:

basicrule wl:id [negative] [mz:[$url:target_url]|[match_zone]|[$args_var:varname]|[$ body_vars:varname]|[$headers_var:varname]|[name]]

##wl:42把id為42的攔截規則加入白名單wl:42,41,43把id為42, 41和43的攔截規則加入白名單wl:-42把所有攔截規則加入白名單,除了id為42的攔截規則
#wl:id (white list id) #哪些攔截規則會進入白名單
wl:0 把所有攔截規則加入白名單
##mz:(match zones)

#args$args_var$args_var_xheaders$headers_var$headers_var_x body$body_var##$ body_var_x正規符合的post參數的參數名稱urlurl(?前的)url_x正規符合的url(?前的)#file_ext檔案名稱(post上傳檔案時上傳的檔案名稱)白名單設定範例
get的整個參數,如: foo=bar&in=
get參數的參數名稱, 如:foo=bar&in= 中的foo和in
正規符合的get參數的參數名稱
#整個http協定頭
http協定頭的名字
正規符合的http協定頭的名字
post的整個參數內容
post參數的參數名稱

以規則#1000為例:規則#1000是篩選包含select、update、delete、insert等sql關鍵字的規則

規則說明 basicrule wl:1000;在全部get參數名為foo的值中停用攔截規則#1000#basicrule wl:1000 "mz:args|name";以下請求會過濾:

##在本子規則中完全停用攔截規則#1000。因為沒有指定區域,所以全部加入白名單。

basicrule wl:1000 "mz:$args_var:foo";

類似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

#在全部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白名單規則是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除