2012-03-08 54 views
5

我們最近有一個客戶獲得與機器人在註冊帳戶以及尋找不存在的目錄敲定(/ phpMyAdmin的/,/ PMA /,/成員/,/ admin /等)。我們創建了一種方式來查看訪問日誌並識別惡意IP,但是我想知道最有效的解決方案。阻止不速之客:htaccess的,iptables的,或只是數據庫

初始刮後,我嘗試添加約10000 IP對iptables來被阻止。這似乎讓事情有點慢,我開始想知道什麼是最好的,以阻止犯規的機器人/惡意用戶。使用iptables,htaccess或簡單的數據庫。數據庫的方法似乎是最簡單的,但我寧願沒有惡意用戶浪費查詢,如果它更有效地阻止他們在htaccess或iptables級別。

是否有優選用於大量地址的方法?每個人有什麼考慮,如果有的話?

這是運行PHP/MySQL的應用程序的簡單的網絡服務器。

謝謝。

+0

同樣在桌子上,我想應該是hosts.deny – Ryan 2012-03-08 19:47:06

回答

0

甚至不設法阻止他們,你會阻止合法的流量,減慢你的網站,他們有知識產權的無限數量的來自,只要確保他們不能取得任何他們不應該。

1

對於質量的註冊部分,一個簡單而有效的驗證碼應該做的工作。

-2

你也嘗試通過用戶代理字符串阻塞(這些都應該在日誌中顯示)

//in htaccess 
BrowserMatchNoCase SpammerRobot bad_bot 
Order Deny,Allow 
Deny from env=bad_bot 

http://www.thesitewizard.com/apache/block-bots-with-htaccess.shtml

+1

大多數不好的機器人都會使用看起來像普通瀏覽用戶的僞裝用戶代理。 – ceejayoz 2012-03-08 20:04:11

+0

這是有道理的,但它可能值得檢查,如果他們中的一些不使用假的用戶代理 – 2012-03-08 20:07:56