Archive

Posts Tagged ‘ip限制’

利用.htaccess功能限制中国的IP地址访问您的网站

September 16th, 2009 老猫 No comments

经常有朋友问如何屏蔽某个国家、地区的用户访问网站。下面这个网站,可以选择生成.htaccess文件,上传到您的网站后,就能屏蔽某个国家、地区的用户了
http://www.blockacountry.com/

那假如想把中国给屏蔽了 而只有自己可以登陆后台如何实现呢
我是说不通过.htaccess
用代码实现
不知道能不能实现呢?

大家可以这样:在.htaccess中可以除去自己的IP,例如:

ErrorDocument 403 http://laomao.info <–这一行可有可无,表达的意思就是在不被允许的IP段打开的时候会跳到这个网页上去

order deny,allow <– 注意这里的写法,要在英文输入法下书写完成
allow from 220.249.1.2 <– 这里输入自己的IP或IP段,被允许访问
allow from 220.250.3.0/24 <– 这里输入自己的IP或IP段,被允许访问
deny from 58.14.0.0/15   <–被拒绝访问的IP段
deny from 58.16.0.0/16   <–被拒绝访问的IP段
…..

———–

简便一点的生成 .htaccess 的网站有 http://www.blockacountry.com/

注:只要把生成出来的文档下载下来,上传到你网站的根目录并且改名为 .htaccess 即可,如果你根目录下原本就有这个文件,请不要覆盖,下载原有的 .htaccess 把代码添加进去即可。

比如你限制了中国 IP ,但是你自己也在中国,那怎么办?有个办法就是在 .htaccess 里允许你的IP访问,具体的方法如下:

1
2
3
4
5
6
order deny,allow          <-- 注意这里的写法
allow from 174.7.174.77    <-- 这里输入自己的IP或IP段
allow from 174.7.0.0/16    <-- 这里输入自己的IP或IP段
deny from 58.14.0.0/15
deny from 58.16.0.0/16
.....

介绍下 order 的写法:

1
2
    order allow , deny 只要deny的IP就不能访问,不管是否allow了
    order deny, allow  只要allow的IP就可以访问,不管是否deny了

介绍下 IP 段的写法:
allow from 174.7.0.0/16 的意思就是允许 174.7.0.0 – 174.7.255.255 IP 段的访问,而这个 174.7.0.0/16 IP段是 CIDR 的形式。

注:CIDR 形式该怎么理解呢?
其实很简单,把我们常见的那种 IP 转换成二进制的32位形式,那么 CIDR 写法中”/16 就是把其中的前16位固定不变,而后面的16位数,每八位一组,可以改变。所以就有了上面的范围。
再举个例子, 192.168.88.12/31 ,后面只有一位可以改变,那么这个 IP 范围就是:192.168.88.12 – 192.168.88.13 。