Magento网站如何屏蔽和禁止中国IP地址访问(二)

上一篇介绍了两个如何屏蔽中国IP地址访问我们的Magento网站的方法,下面介绍一个我个人最喜欢的方法,.htacess文件限制法的升级版,中国IP访问者需要密码可以浏览网站,外国访问者则则直接访问。

Thank you for reading this post, don't forget to subscribe!

该方法克服了.htaccess文件限制法的两个弊端:1)避免删除IP段照成屏蔽不全;2)方便某些特定人群访问和使用你的网站,比如供应商、国内客户等。

具体方法是:

第一步,在网站根目录创建一个.htpasswd文件

访问 http://tools.dynamicdrive.com/password/ 这个网站,如图填写:

dynamicdrive

1)填写用户名和密码,可以设置多个用户,前面一个方框内填写用户名,后面一个方框是对应的密码

2)填写网站根目录在系统中的绝对路径 一般是 /home/your_ftp_name/public_html/

你购买空间的时候,空间商会给你一个控制面板账号和密码(该账号和密码同时也是你的ftp账号和密码),此处your_ftp_name就是账号名。

如果还不能确定根目录的绝对路径,可以创建一个xxx.php文件,里面填写如下代码

<?php

echo  __FILE__;

?>

将该xxx.php文件上传到你的根目录,浏览器打开 www.yourdomain.com/xxx.php 就可以得到根目录绝对路径了。

3)填写哪些文件需要保护,什么都不填留空即可

点击 submit 提交,生成.htpasswd内容

在网站根目录下创建一个.htpasswd文件,将生成的.htpasswd内容填写到该文件中(如:kickswholesale:opI9Gd7C.Z0K6)

第二步,填写.htaccess文件

将以下代码加入你网站根目录的.htaccess文件中

<IfModule mod_auth.c>
AuthName "Username and password required"
AuthUserFile /home/your_ftp_name/public_html/.htpasswd
AuthType Basic
Require valid-user
Order Allow,Deny
Allow from all

deny from 1.0.1.0/24
deny from 1.0.2.0/23
deny from 1.0.8.0/21

.....

deny from 223.254.0.0/16
deny from 223.255.0.0/17
deny from 223.255.236.0/22
deny from 223.255.252.0/23

Satisfy Any

</IfModule>

代码里面的 deny from 1.0.1.0/24就是你需要屏蔽的中国ip段,完整的中国IP段可以从下面获取:

http://www.ip2location.com/free/visitor-blocker ,在Step1 Country Name处选择 China, 在Step2 OutputFormat处选择 Apache htaccess deny,点击download,下载一个txt文件,里面有详细的中国ip地址段,复制粘贴取代红色部分即可。

OK,任务完成,测试一下是否成功即可:在浏览器访问你的网站,也就是中国的IP,看看是否被禁止,需要填写密码访问,然后填写上密码是否是通过,再用vpn查看国外访问是否正常。一切正常,即大功告成!

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注