haim evgi Asked: 2009-08-18 23:49:03 +0800 CST2009-08-18 23:49:03 +0800 CST 2009-08-18 23:49:03 +0800 CST 如何使用 LAMP 堆栈阻止某些国家/地区访问我的网站? 772 我有一个网站,我不想被整个国家/地区查看。该网站在 LAMP 服务器上运行。我怎样才能做到这一点? php apache-2.2 lamp blocking 6 个回答 Voted Best Answer Harri Siirak 2009-08-18T23:56:42+08:002009-08-18T23:56:42+08:00 使用 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 Zed 2009-08-18T23:53:26+08:002009-08-18T23:53:26+08:00 您可以使用 rewrite_mod 的 REMOTE_ADDR 条件将被禁止的用户重定向到一个描述他们不允许进入的页面,或者只是给他们一个 403 错误。 RewriteCond %{REMOTE_ADDR} ^123\.123\.123\.[0-9]{3}$ RewriteRule .* ... 要获取一个国家/地区的 IP 范围,例如获取Maxmind数据库。 silky 2009-08-18T23:51:02+08:002009-08-18T23:51:02+08:00 检查IP并确定托管它的国家/地区,然后将其阻止。当然,它并不准确,但它是一些东西。一般来说,我不喜欢这样做。但也许出于某种法律原因需要。 erenon 2009-08-18T23:51:05+08:002009-08-18T23:51:05+08:00 您可以过滤国家 ISP 的 IP 地址。有很多地理定位数据库,可以帮助您通过 ip 识别用户所在的国家/地区。 Narayan 2009-08-18T23:55:41+08:002009-08-18T23:55:41+08:00 我遇到了这个声称禁止国家/地区的网站, IMO,使用 .htaccess 文件阻止的最佳方法 DmitryK 2009-08-19T00:05:46+08:002009-08-19T00:05:46+08:00 您可以使用这样的服务: http://www.maxmind.com/app/geolitecountry 提取哪些 IP 范围属于哪些国家/地区的信息并阻止它们。请记住,如果您在高流量网站上阻止了太多范围,您可能会看到防火墙的利用率很高。
使用 mod_geoip 模块。 http://www.maxmind.com/app/mod_geoip
例如:
您可以使用 rewrite_mod 的 REMOTE_ADDR 条件将被禁止的用户重定向到一个描述他们不允许进入的页面,或者只是给他们一个 403 错误。
要获取一个国家/地区的 IP 范围,例如获取Maxmind数据库。
检查IP并确定托管它的国家/地区,然后将其阻止。当然,它并不准确,但它是一些东西。一般来说,我不喜欢这样做。但也许出于某种法律原因需要。
您可以过滤国家 ISP 的 IP 地址。有很多地理定位数据库,可以帮助您通过 ip 识别用户所在的国家/地区。
我遇到了这个声称禁止国家/地区的网站,
IMO,使用 .htaccess 文件阻止的最佳方法
您可以使用这样的服务:
http://www.maxmind.com/app/geolitecountry
提取哪些 IP 范围属于哪些国家/地区的信息并阻止它们。请记住,如果您在高流量网站上阻止了太多范围,您可能会看到防火墙的利用率很高。