国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Nginx > 正文

Nginx防盜鏈根據UA屏蔽惡意User Agent請求(防蜘蛛)

2024-08-30 12:26:06
字體:
來源:轉載
供稿:網友

相對于 Apache,Nginx 占用的系統資源更少,更適合 VPS 使用。惡意盜鏈的 User Agent 無處不在,博客更換到 WordPress 沒幾天,就被 SPAM(垃圾留言)盯上,又被暴力破解后臺用戶名密碼。以前介紹過 Apache 使用 .htaccess 屏蔽惡意 User Agent,今天來介紹 Nginx 屏蔽惡意 User Agent請求的方法。

先上規則&注釋

#禁用未初始化變量警告uninitialized_variable_warn off;#匹配各種 bad user agent,返回403錯誤if ($http_user_agent ~* "embeddedwb|NSPlayer|WMFSDK|qunarbot|mj12bot|ahrefsbot|Windows 98|MSIE 6.0; Windows 2000|EasouSpider|Sogou web spider") {return 403;}#匹配POST方法,給變量iftemp賦值if ($request_method ~* "POST") {set $iftemp X;}#匹配 bad user agent,給變量iftemp賦值;這幾個UA主要是發垃圾留言的if ($http_user_agent ~* "MSIE 6.*NET|MSIE 7.*NET|MSIE 6.*SV1|MSIE 6.0; Windows NT 5.0") {set $iftemp "${iftemp}Y";}#如果變量iftemp符合上面兩個條件,返回403錯誤if ($iftemp = XY) {return 403;}

禁用未初始化變量警告,不然會不停寫入警告到錯誤日志error.log,如下

代碼如下:
2014/09/11 09:21:11 [warn] 18649#0: *132 using uninitialized “iftemp” variable, client: 220.181.51.209, server: www.wilf.cn, request: “GET /wp-content/themes/dazzling/inc/fonts/glyphicons-halflings-regular.woff HTTP/1.0”, host: “www.wilf.cn”, referrer: “http://www.wilf.cn/”
2014/09/11 09:21:11 [warn] 18649#0: *92 using uninitialized “iftemp” variable, client: 66.249.79.55, server: www.wilf.cn, request: “GET /page/14?mod=pad&act=view&id=741 HTTP/1.1”, host: “www.wilf.cn”

Nginx 規則不支持2個以上的條件判斷,繞個路,通過給變量兩次賦值來完成2個條件判斷。

Nginx 規則也是使用正則表達式匹配字符串,分析日志,根據需要自己定制。

檢驗成果的時候到了

代碼如下:
183.60.214.51 — [10/Sep/2014:22:16:18 +0800] — Bytes: 13507 — GET /?mod=pad&act=view&id=460 HTTP/1.1 — 403 — – — Mozilla/5.0 (compatible; EasouSpider; +http://www.easou.com/search/spider.html) — – — –
220.181.125.169 — [11/Sep/2014:09:38:15 +0800] — Bytes: 169 — GET /page/51?mod=wap&act=AddCom&inpId=860 HTTP/1.1 — 403 — – — Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07) — – — –

EasouSpider 和 Sogou web spider,再也不見。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 奉新县| 新巴尔虎左旗| 松溪县| 新闻| 陵川县| 浪卡子县| 兴义市| 深州市| 遵化市| 南和县| 沙坪坝区| 博野县| 滨州市| 陆河县| 北碚区| 旬邑县| 渭源县| 碌曲县| 昌都县| 江津市| 原平市| 托克逊县| 谢通门县| 万荣县| 杭州市| 禹城市| 特克斯县| 洪江市| 文昌市| 重庆市| 辽阳县| 双鸭山市| 水城县| 蚌埠市| 将乐县| 桃园市| 绥阳县| 曲沃县| 晋城| 铜山县| 灵璧县|