|
  
- UID
- 1
- 帖子
- 263
- 精华
- 1
- 积分
- 62837
- 威望
- 218
- 金钱
- 125238
- 阅读权限
- 200
- 注册时间
- 2010-6-19
|
1. 安装GeoIP模块(需要提前配置好EPEL软件仓库)
- # yum -y install mod_geoip
复制代码
2. mod_geoip配置
- # cat /etc/httpd/conf.d/mod_geoip.conf
- LoadModule geoip_module modules/mod_geoip.so
- <IfModule mod_geoip.c>
- GeoIPEnable On
- GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
- </IfModule>
复制代码
这个配置文件无需做修改,不过可以通过以下链接下载最新的数据库:
http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
3. 安装完毕之后需要重载配置文件方能生效
4. 可以通过PHP脚本来检测模块是否生效
- <?php
- echo 'Your IP address is ' . $_SERVER['REMOTE_ADDR'] . '<br />';
- echo 'You come from ' . $_SERVER['GEOIP_COUNTRY_NAME'] . '<br />';
- echo 'You come from ' . $_SERVER['GEOIP_COUNTRY_CODE'] . '<br />';
- echo 'You come from ' . $_SERVER['GEOIP_COUNTRY_CODE3'] . '<br />';
复制代码
5. 阻止指定国家的IP(黑名单)
- SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry
- SetEnvIf GEOIP_COUNTRY_CODE RU BlockCountry
- Deny from env=BlockCountry
- # 额外允许IP
- Allow from 10.1.2.3
复制代码
6. 阻止指定国家的IP(白名单)
- SetEnvIf GEOIP_COUNTRY_CODE US AllowCountry
- SetEnvIf GEOIP_COUNTRY_CODE CA AllowCountry
- SetEnvIf GEOIP_COUNTRY_CODE MX AllowCountry
- Deny from all
- Allow from env=AllowCountry
- #额外允许IP
- Allow from 10.1.2.3
复制代码 |
|