我已經寫了自己一個非常強大的防護等級「Blockip的」,可以使用帶有IP的黑名單,可以檢測奇怪的IP配置的,並阻止代理。當它找到一個,我得到一個關於訪問者的詳細電子郵件,以及爲什麼它被阻止,他們想要做什麼(當然每天一次)。它看起來效果很好,因爲我在過去遭受過一些被這個班級封鎖的真正攻擊。它不會阻止合法機器人,但要檢測檢測方法是否正確並不容易。有一個測試用例可用(模擬器)搜索引擎機器人
今天我從類的電子郵件,它已阻止「ycar10.mobile.bf1.yahoo.com」,它自身標識爲雅虎機器人,但背後的代理。我搜索網絡,如果它被列入黑名單,但沒有發現它被列入黑名單。所以問題是:是否阻止代理背後的機器人(反正使用合法機器人代理?)?這裏關於機器人的一些信息:
HTTP_ACCEPT = */*
HTTP_X_FORWARDED_FOR = 107.38.3.137, 98.137.88.60
HTTP_USER_AGENT = YahooCacheSystem
PATH = /sbin:/bin:/usr/sbin:/usr/bin
SERVER_SIGNATURE =
SERVER_SOFTWARE = Apache/2.2.14
SERVER_PORT = 80
REMOTE_ADDR = 98.139.241.249
REMOTE_PORT = 53863
GATEWAY_INTERFACE = CGI/1.1
SERVER_PROTOCOL = HTTP/1.1
REQUEST_METHOD = GET
QUERY_STRING =
REQUEST_URI =/
SCRIPT_NAME = /index.php
PHP_SELF = /index.php
REQUEST_TIME = 1330923844
否則,有一個測試用例(套裝/仿真器)能夠測試合法機器人的正確行爲(只允許其中主要的如:谷歌,雅虎,必應),以確保我使用了正確的檢測方法。有一些模擬器,但其中大多數工作不正常,下一個問題是:「我可以相信它......」。
*注:如你在上面的細節看,它使用的53863一REMOTE_PORT價值,什麼樣的端口是53863 *
我希望你能理解我的問題,如果沒有,掉落?在這裏。
遠程端口可以是任何客戶端選擇。機器人可以使用代理,如果他們覺得喜歡它。假殭屍可以使用任何他們感覺的用戶代理。 – Brad 2012-03-05 17:17:26
感謝您的評論。我知道漫遊器可以使用代理,但是合法的(例如Google,Yahoo和Bing)有時使用代理?否則,檢測方法是正確的,對嗎? – Codebeat 2012-03-05 17:24:12
你怎麼定義一個「合法」的代理?你只關心谷歌,雅虎和Bing嗎,還是你關心所有這些?我的觀點是,無論如何你都無法確定你收到的請求。所有的信息都可能被欺騙。 – Brad 2012-03-05 17:41:56