ZL@英文站优化教程

利用.htaccess屏蔽国内IP访问

栏目:英文站其它      2,387 views      1 枚回复

利用.htaccess屏蔽国内IP访问

当然你也可以屏蔽你任何想要屏蔽的IP或者IP段

英文站的朋友可能会有用到,ZL试用一下,感觉不错。强调一下这与爱国无关。

屏蔽ip段很简单,在.htaccess里加入:

order allow,deny
# 禁止一个ip地址
deny from 123.125.125.147

# 禁止一个ip段
deny from 210.145.95.0/255

# 或者你需要在这ip段中允许部分ip
allow from 210.145.95.123

# 除此之外一切均可以访问
allow from all

符中国IP段:不定时更新,请GG一下: IP Address Blocks .htaccess

 

# Chinese IP addresses follow:
# 中国ip地址
deny from 58.22.0.0/15 58.56.0.0/15 58.58.0.0/16 58.59.0.0/17 58.60.0.0/14 58.82.0.0/15 58.208.0.0/12 58.246.0.0/15 58.248.0.0/13 59.32.0.0/13 59.40.0.0/15 59.42.0.0/16 59.56.0.0/13 60.12.0.0/16 60.28.0.0/15 60.160.0.0/11 60.194.0.0/15 60.208.0.0/13 60.216.0.0/15 61.4.64.0/20 61.48.0.0/13 61.128.0.0/10 61.135.0.0/16 61.145.73.208/28 61.179.0.0/16 61.183.0.0/16 61.184.0.0/16 61.185.219.232/29 61.188.0.0/16 61.232.0.0/14 61.236.0.0/15 118.132.0.0/14 119.18.192.0/20 121.32.0.0/14 123.4.0.0/14 124.42.64.0/18 124.236.0.0/14 125.40.0.0/13 159.226.0.0/16 202.66.0.0/16 202.96.0.0/12 202.96.128.0/18 202.108.0.0/16 203.69.0.0/16 203.169.160.0/19 210.5.0.0/19 210.14.128.0/19 210.21.0.0/16 210.51.0.0/16 210.192.96.0/19 211.76.96.0/20 211.78.208.0/20 211.90.0.0/15 211.136.0.0/13 211.233.70.0/24 211.144.12.0/22 211.144.160.0/20 211.152.14.0/24 211.154.128.0/19 211.157.32.0/19 211.161.24.128/26 218.0.0.0/11 218.56.0.0/13 218.64.0.0/11 218.88.0.0/13 218.96.0.0/14 218.102.0.0/16 218.104.136.128/25 218.242.0.0/16 219.128.0.0/11 219.232.0.0/19 220.160.0.0/11 220.181.0.0/16 220.192.0.0/12 220.228.70.0/24 220.248.0.0/14 220.250.0.0/19 220.252.0.0/16 221.10.0.0/16 221.11.0.0/16 221.192.0.0/14 221.208.0.0/14 221.212.0.0/16 221.216.0.0/13 221.224.0.0/13 221.228.0.0/14 221.238.0.0/15 222.32.0.0/11 222.76.0.0/14 222.80.0.0/12 222.136.0.0/13 222.166.0.0/16 222.168.0.0/15 222.172.222.0/24 222.184.0.0/13

 

屏蔽之后的效果:

==================

Forbidden

You don’t have permission to access / on this server.


标签: , , ,

转载注明:转自ZL@英文站优化教程

本站遵循:署名-非商业性使用-禁止演绎 3.0 共享协议

收藏分享: QQ书签 / 百度收藏 / Google书签 / 收藏到鲜果 / Digg / Del.icio.us


1 枚回复


  1. admin says:

    .htaccess的Order Allow Deny详解

    规则如下,顺序将影响设置结果

    影响最终判断结果的只有两点:

    1. order语句中allow、deny的先后顺序;

    2. allow、deny语句中各自包含的范围。

    温馨提醒——

    1. 修改完配置后要保存好并重启Apache服务,配置才能生效;

    2. 开头字母不分大小写;

    3. allow、deny语句不分先后顺序,谁先谁后不影响最终判断结果;但都会被判断到;

    4. order语句中,“allow,deny”之间“有且只有”一个逗号(英文格式的),而且先后顺序很重要;

    5. Apache有一条缺省规则,“order allow,deny”本身就默认了拒绝所有的意思,因为deny在allow的后面;同理,“order deny,allow”本身默认的是允许所有;当然,最终判断结果还要综合下面的allow、deny语句中各自所包含的范围;(也就是说order语句 后面可以没有allow、deny语句)

    6. allow、deny语句中,第二个单词一定是“from”,否则Apache会因错而无法启动,

    7. “order allow,deny”代表先判断allow语句再判断deny语句,反之亦然。

    上面说的都是要记住的,而下面说的是我独创的理解方法。如果有人看了而没有豁然开朗的感觉,那算是我的失败!

    判断原则分4步走——

    1. 首先判断默认的;

    2. 然后判断逗号前的;

    3. 最后判断逗号后的;

    4. 最终按顺序叠加而得出判断结果。

    上面三点我说的简单而形象,主要是为了便于记忆。暂时不理解不要紧,继续看下面详细的解说自然会明白。下面以一个普通例子来做解释——

    order deny,allow

    allow from 218.20.253.2

    deny from 218.20

    1. 所谓“首先判断默认的”,就是判断“order deny,allow”这句,它默认是允许所有;

    2. 所谓“然后判断逗号前的”,因为在本例子中的order语句里面,deny在逗号的前面,所以现在轮到判断下面的deny语句了——“deny from 218.20”;

    3. 所谓“最后判断逗号后的”,因为在本例子中的order语句里面,allow在逗号的后面,所以最后轮到判断下面的allow语句了——“allow from 218.20.253.2”。

    4. 所谓“最终按顺序叠加而得出判断结果”,这是一个形象化了的说法,我把每一步判断都看作一个“不透明的图层”,然后一步步按顺序叠加上去,最终得出的“图像”就是判断结果。

    用过作图软件的人应该都知道“图层”是怎么回事,我估计Apache关于order allow deny这方面的设计理念和photoshop等作图软件关于图层的设计理念是一样的。即“游戏规则”是一样的。

    那么上面的例子就可以是这么一个步骤和图像——

    1. 先画一个白色的大圆,代表“order deny,allow”语句,默认意思是允许所有;

    2. 然后画一个小一点的黑色圆,代表“deny from 218.20”语句,意思是拒绝所有以218.20开头的IP,放进白色的大圆里面;

    3. 最后再画一个白色的圆,代表“allow from 218.20.253.2”语句,意思是允许218.20.253.2通过,放在黑色圆的上面。

    4. 到此为止,我们已经可以看到一个结果了,白色大圆上面有一个黑色圆,黑色圆上面还有一个白色圆。最后,我们所能看到的黑色部分就是拒绝通行的,剩下的白色部分都是允许通行的。判断的结果就是这么简单形象!

    如果不懂的用作图软件,我们再来个非常贴近生活的比喻——

    把上面的例子改动一点点,以便更好的理解:

    order deny,allow

    allow from 218.20.253.2

    deny from 219.30

    1. 首先拿一张A4白纸,代表第order语句,意思是允许全部;

    2. 然后拿一张黑色纸剪一个圆,放在A4纸里面的某个位置上,代表deny语句,意思是拒绝所有以219.30开头的IP;

    3. 最后拿白纸再剪一个圆,放在黑色圆的旁边,代表allow语句,意思是允许218.20.253.2通过;注意,这个例子不是放进黑色圆里面了,因为deny和allow语句不再有相互包含的关系了。

    4. A4纸上面有一个黑色圆和一个白色圆,结果自然很明显了。不过白色的A4纸上再放一个白色的圆,显然是多余的了,因为大家都是白色的,都代表允许,所以就重复了,可以去掉白色的圆而不会影响判断结果。

    如果看到这里还没明白,那一定是我还有什么没说清楚的。那么请好好分析我所做过的测试例子,将在最后列出来。

    在这里再啰嗦一下,allow、deny语句后面跟的参数有多种形式,有不同的表达方式,我在网上看到的做法是deny from IP1 IP2 IP3或allow from domain.com等。其它的表达方式大家再找别的资料看吧。我想说的是另一种表达方式:

    order deny,allow

    allow from IP1 IP2

    allow from domain.info

    allow from 219.20.55.0/24

    deny from all

    我没具体验证过这是否对,不过这样是可以正常启动Apache服务的,按道理应该是正确的表达方式。哈哈,像我这样的入门者只能这样了,还希望大家多多指教!
    下面是测试过的例子:
    ——————————–
    Order deny,allow
    allow from all
    deny from 219.204.253.8
    #全部都可以通行
    ——————————-
    Order deny,allow
    deny from 219.204.253.8
    allow from all
    #全部都可以通行
    ——————————-
    Order allow,deny
    deny from 219.204.253.8
    allow from all
    #只有219.204.253.8不能通行
    ——————————-
    Order allow,deny
    allow from all
    deny from 219.204.253.8
    #只有219.204.253.8不能通行
    ——————————-
    ——————————-
    Order allow,deny
    deny from all
    allow from 219.204.253.8
    #全部都不能通行
    ——————————-
    Order allow,deny
    allow from 219.204.253.8
    deny from all
    #全部都不能通行
    ——————————-
    Order deny,allow
    allow from 219.204.253.8
    deny from all
    #只允许219.204.253.8通行
    ——————————-
    Order deny,allow
    deny from all
    allow from 219.204.253.8
    #只允许219.204.253.8通行
    ——————————-
    ——————————–
    Order deny,allow
    #全部都可以通行(默认的)
    ——————————-
    Order allow,deny
    #全部都不能通行(默认的)
    ——————————-
    Order allow,deny
    deny from all
    #全部都不能通行
    ——————————-
    Order deny,allow
    deny from all
    #全部都不能通行
    ——————————-
    对于上面两种情况,如果换成allow from all,则全部都可以通行!
    ——————————-
    Order deny,allow
    deny from 219.204.253.8
    #只有219.204.253.8不能通行
    ——————————-
    Order allow,deny
    deny from 219.204.253.8
    #全部都不能通行
    ——————————-
    Order allow,deny
    allow from 219.204.253.8
    #只允许219.204.253.8通行
    ——————————-
    Order deny,allow
    allow from 219.204.253.8
    #全部都可以通行
    ——————————-
    ——————————-
    order deny,allow
    allow from 218.20.253.2
    deny from 218.20
    #代表拒绝218.20开头的IP,但允许218.20.253.2通过;而其它非218开头的IP也都允许通过。
    ——————————-
    order allow,deny
    allow from 218.20.253.2
    deny from 218.20
    #和上面的差不多,只是掉换的order语句中的allow、deny先后顺序,但最终结果表示全部都拒绝!


发表回复


XHTML: 您可以使用如下代码:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>