magento -- 如何禁止国内用户或某个特定地区的用户访问你的 magento网店呢

我不知道这些客户是出于什么目的要禁止国内的客户访问他们的magento网店,或许是不想让别人知道自己在做哪些产品,或者觉得他们不是潜在客户,但是不管是出于什么目的,既然有人出钱要实现这个功能,我们就不管那么多了。

 

大概思考了一下,有好几种实现的方案:

 

第一是在防火墙上做文章,把来自那个地区或国家的所有IP的包全部丢掉:

 

 iptables -A INPUT -s $ip     -j DROP
iptables -A OUTPUT -d $ip -j DROP
当然手写可能累,你可以用个循环输出一下。至于IP列表,比如你要禁止中国IP访问,可以上网找一个比较权威
实时的ip库,导出ip列表。
FYI:

Linux Iptables Just Block By Country

Blocking IP Addresses Of Any Country With iptables

 

第二是在apache上做文章,使用apache的deny命令。这种方法的好处是不会像iptable那样一刀切。可以对各个站点(虚拟主机进行不同的定义,也就是可以实现各个站点对不同的IP进行禁用)。

 

#COUNTRY_BLOCK_START

<Limit GET HEAD POST>
order allow,deny
deny from 47.154.0.0/24
deny from 58.14.0.0/13
deny from 58.22.0.0/14
deny from 58.30.0.0/11
deny from 58.62.0.0/15
deny from 58.66.0.0/15
deny from 58.68.128.0/17
deny from 58.82.0.0/15
deny from 58.87.64.0/18
#.......

allow from all
</Limit>
#COUNTRY_BLOCK_END

 

第三就跟灵活了,就是在程序中处理了。无论是PHP还是PERL什么的,只要你维护一个ip列表文本或者其它的格式比如数组,xml,ini文件都可以。而且还可以进一步来设置一个后门可以进入或者是弄一个用户验证都可以。就不需要举例。

 

Logo

Agent 垂直技术社区,欢迎活跃、内容共建,欢迎商务合作。wx: diudiu5555

更多推荐