如何網站通過web.config文件屏蔽某個IP或者IP段的方法
偶然在網站iis訪問日志中,發現有大量來自某一個IP的大量來訪記錄,詭異的是,這個訪問的目錄在我的網站里面根本就不存在,所以,這樣的訪問在日志文件中造成了大量的404記錄。日志代碼為:
2020-03-09 00:02:34 172.18.1.240 GET /yinlejulebu/19261.html - 80 - 107.164.190.26 Mozilla/4.0+(compatible;+MSIE+9.0;+Windows+NT+6.1) 404 0 2 156
經查詢,其中107.164.190.26這個IP來自境外某個地區。
無獨有偶,在同一個文件中的另外一個位置,發現同一IP段的IP,有大量訪問網站動態信息的記錄,而且這個訪問留下的是200記錄,也就是說,這個訪問記錄被爬行成功,日志代碼如下:
2020-03-09 00:56:41 172.18.1.240 GET /seo/show1185.shtml - 80 - 107.164.18.26 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/73.0.3683.103+Safari/537.36 200 0 0 1437
同樣,這個107.164.18.26也來自境外相同的地區。
所以,我便懷疑網站被采集了,有人說,網站被采集并不可怕,可怕的是人家采集了結果權重還比你高,所以,咱得想辦法屏蔽這幾個IP訪問網站,那么,怎么才能屏蔽這個IP段呢?在無法訪問網站服務器的情況下,通過web.config文件來進行限制是可取的方式。于是便在文件中rule位置,增加了這一段:
<rule name="band ip" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny">
<add input="%{HTTP_X_FORWARDED_FOR}&%{REMOTE_ADDR}&%{HTTP_X_Real_IP}" pattern="(107.164.190.26|107.164.18.)" />
</conditions>
<action type="AbortRequest" />
</rule>
經測試,網站運轉正常,希望這個方法能給你帶來一點啟發。