Php

如何使用 LAMP 堆棧阻止某些國家/地區訪問我的網站?

  • January 26, 2012

我有一個網站,我不想被整個國家/地區查看。該網站在 LAMP 伺服器上執行。我怎樣才能做到這一點?

使用 mod_geoip 模組。 http://www.maxmind.com/app/mod_geoip

例如:

GeoIPEnable On
GeoIPDBFile /path/to/GeoIP.dat

SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE RU BlockCountry

# ... place more countries here
Deny from env=BlockCountry

您可以使用 rewrite_mod 的 REMOTE_ADDR 條件將被禁止的使用者重定向到一個描述他們不允許進入的頁面,或者只是給他們一個 403 錯誤。

RewriteCond %{REMOTE_ADDR} ^123\.123\.123\.[0-9]{3}$ 
RewriteRule .* ...

要獲取一個國家/地區的 IP 範圍,例如獲取Maxmind數據庫。

引用自:https://serverfault.com/questions/55430