2013-10-15 77 views
0

我想阻止這些類型的請求到我的網站。如何做到這一點?我已經列出了我所嘗試的和我的想法。我想阻止這兩種類型的訪問者訪問網站。我該怎麼做呢?

我不需要任何代碼只是一個指針在正確的方向。

我想根據速度使用最好的方法,我也不想阻止真正的人?

該網站使用:

- PHP 
- Symfony2 
- Apache 
- Ubuntu 

我可以很容易地在PHP執行這兩個,但認爲它可以使用Apache/Ubuntu的等

(1)阻止某些IP地址會更好。這隻會是明顯做一些狡猾的事情。例如。如果我已經證明所有這些IP地址所做的都是不可靠的,那麼來自中國的一系列IP地址。

我目前登錄每個訪客的IP。我後來手動查看這些數據,如果我決定IP(或範圍)需要阻塞,我會採取手動操作。 (2)通過使用服務器IP地址(例如123.55.44.222)而不是實際的'domain.com'域名來阻止任何人訪問我的網站。我想這樣做,因爲它弄亂了網站(毫無疑問,這可以通過更改我的代碼來解決,但沒有人輸入IP,因此更容易做到這一點)。

有了這個,我想了一段代碼,如果他們正在使用的IP,並檢測只是立即阻止他們(也許返回403錯誤)

感謝。

+1

越低越好,你的表現越好。使用Apache阻止IP應該可以滿足您的使用案例(除非您擁有一個非常頻繁且着名的站點,它也受到僵屍網絡的攻擊)。 – ComFreek

+0

你可以實現你自己的選民:http://symfony.com/doc/current/cookbook/security/voters.html – PMoubed

回答

3
  1. 阻止他們在防火牆。

  2. 修復您的網站在通過IP訪問時不會被破壞,或者更改apache的配置以使其不作爲默認網站提供服務。

除此之外,癡迷於閱讀您的日誌並試圖阻止「人們做壞事」會讓您更瘋狂,並且一般毫無意義。你將用僵屍網絡,代理和腳本小子來消除你剩餘的空閒時間和理智。

修復代碼。通過消除他們這樣做的能力來解決人們正在做這些「壞事」的事實。

1

Spamhaus已經維護一個blacklist of IP addresses並且每天更新它。您可以使用this script每天自動獲取新列表並更新防火牆以阻止IP地址。

如果您希望維護自己的黑名單,那麼您可以替換腳本中與Spamhaus提取有關的邏輯。

對於你的問題的第二部分,你可以做的這些

  1. 一個將用戶重定向到域名基於URL,如果使用的IP地址。See this for an example
  2. 定義一個虛擬主機以匹配作爲第一個虛擬主機的IP地址。這裏拋出一個HTTP 403錯誤
+0

謝謝。我後來用你答案的最後一行去解決問題。我的代碼是在這裏,如果你能夠進一步幫助:http://stackoverflow.com/questions/19412468/trying-to-set-up-virtual-hosts-to-block-access-by-ip-for-three-域名和時間 - 再次感謝。 – user2143356

相關問題