我已經得到了,在得到與符合此格式的URL的請求每隔30分鐘打100倍左右的Apache服務器:如何阻止殭屍程序請求到符合Apache常見模式的URL?
/neighborhood/****/feed
用於對他們的內容,並使用有效這些URL。現在他們都是404,所以這個機器人每次擊中我們時都會造成性能下降。
什麼我添加到我的htaccess文件來阻止它?
注意:bot在EC2上,因此按IP地址阻止將無法工作。我需要阻止符合該模式的請求。
我已經得到了,在得到與符合此格式的URL的請求每隔30分鐘打100倍左右的Apache服務器:如何阻止殭屍程序請求到符合Apache常見模式的URL?
/neighborhood/****/feed
用於對他們的內容,並使用有效這些URL。現在他們都是404,所以這個機器人每次擊中我們時都會造成性能下降。
什麼我添加到我的htaccess文件來阻止它?
注意:bot在EC2上,因此按IP地址阻止將無法工作。我需要阻止符合該模式的請求。
mod_rewrite?但我懷疑它可以在apache級別上更快。 我會看看nginx作爲前端,它在404和規則性能方面效率更高:-)
PS。此外,您可以嘗試返回一個重定向到100MB的文件的地方,使這些機器人的一些有趣:-D
將在Apache中的前一個緩存系統或CDN,以及allow your 404 responses to be cached.
403的可以很容易地通過mod_rewrite設置:
RewriteRule ^neighborhood/[^/]+/feed$ - [F]
這比添加一個重寫規則到我的htaccess的工作多得多。 :) – bflora2
使用的mod_rewrite規則應該讓你的地方,你想:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/neighborhood/[^/]+/feed$ [NC]
RewriteRule ^.*$ - [F,L]
以上進入你的.htaccess文件,或者如果你更願意把它放在你的虛擬主機文件中(因爲你已經關閉的.htaccess解析性能 - 一個好主意):
<Location />
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/neighborhood/[^/]+/feed$ [NC]
RewriteRule ^.*$ - [F,L]
</Location>
鑑於/居委會/卡森/的URI喂,你應該期望,如響應:
故宮
您沒有權限訪問此服務器上 /居委會/卡森/飼料。
的Apache/2.2.16(Ubuntu的)服務器在 ... 80端口
這是在我的本地虛擬機測試運行在Ubuntu 10.10的Apache/2.2.16。
順便說一句,這導致了一個狀態代碼:403 Forbidden –
下面的代碼可以在mod_rewrite的可用於404:
RewriteRule pattern - [R=404] [other_flags]
mod_rewrite的是什麼樣子的,我需要使用。不知道實際的重寫規則應該是什麼樣子。 – bflora2
@bflora:403和410很容易([F]和[G]),但我不確定在mod_rewrite中是否有快速訪問404的方法。 – ephemient
[F]會很棒。規則應該是什麼樣子?我嘗試這個目前爲止沒有成功:RewriteRule^neighborhoods /([^/\.]+)/?$ http://www.windycitizen.com/ [F] – bflora2