用.htaccess限制恶意IP的访问

in 网站建设

有童鞋的博客经常收到垃圾留言,感觉很恶意的,就像我这个博客也未能幸免,收到的大量spam,对于垃圾信息的处理,可以用一些插件处理,这里讨论的是用另一种方法:直接用.htaccess进行屏蔽掉他的IP地址,禁止他访问

用.htaccess禁止网站上某些IP或IP段的访问方法:

如:Order allow,deny

Deny from 123.45.67.8

Deny from 123.123.7

Allow from  all

上面能禁止IP地址在123.45.67.8以及IP地址开头为123.123.7的任何人。例如123.123.74.33  就不能得到访问。

关于Order 指令详解

说明: 控制缺省的访问状态和Allow与Deny指令被评估的顺序。

语法: Order ordering

默认值: Order Deny,Allow

上下文: 目录, .htaccess

覆盖项: Limit

状态: Base

模块: mod_access

Order指令控制缺省的访问状态和 Allow与Deny指令被评估的顺序。 Ordering是以下几种范例之一:

Deny,Allow

Deny指令在 Allow指令之前被评估。缺省允许所有访问。 任何不匹配Deny指令或者匹配 Allow指令的客户都被允许访问服务器。

Allow,Deny

Allow指令在 Deny指令之前被评估。缺省禁止所有访问。 任何不匹配Allow指令或者匹配 Deny指令的客户都将被禁止访问服务器。

Mutual-failure

只有出现在Allow列表并且不出现在 Deny列表中的主机才被允许访问。 这种顺序与Order Allow,Deny具有同样效果,不赞成使用,它包括了哪一种配置。

关键字只能用逗号分隔(而且是英文状态下的逗号);它们之间不能有空格。注意在所有情况下每个Allow和Deny指令语句都将被评估。

在下面的例子中,apache.org域中所有主机都允许访问,而其他任何主机访问都被拒绝。

Order Deny,Allow

Deny from all

Allow from apache.org

下面例子中,apache.org域中所有主机,除了foo.apache.org子域包含的主机被拒绝访问以外,都允许访问。 而所有不在apache.org域中的主机都不允许访问,因为缺省状态是拒绝对服务器的访问。

Order Allow,Deny

Allow from apache.org

Deny from foo.apache.org

另一方面,如果上个例子中的Order指令改变为Deny,Allow, 将允许所有主机的访问。这是因为,不管配置文件中指令的实际顺序如何, Allow from apache.org指令会最后被评估到并覆盖之前的 Deny from foo.apache.org。所有不在apache.org 域中的主机也允许访问是因为缺省状态被改变到了允许。

即使没有伴随Allow和Deny指令,一个Order 指令的存在也会影响到服务器上某一个部分的访问, 这是由于他对缺省访问状态的影响。例如,

<Directory /www>

Order Allow,Deny

</Directory>

这样将会禁止所有对/www目录的访问,因为缺省状态将被设置为拒绝.

像以前有不少老毛子在我的一个博客留言,如果你的站本身就不是面向老外的,你可以直接屏蔽某个国家、地区的用户访问网站。下面这个网站,可以选择生成.htaccess文件,上传到您的网站后,就能屏蔽某个国家、地区的用户了http://www.blockacountry.com/

如果你的网站内容经常被某个IP采集,对于这种流量,Deny掉它的IP吧,当然如果对方用代理访问的话,只好出现一个IP杀掉一个IP,慢慢的杀掉其代理IP.

阅读了本文的人还看了:

  1. PR5 以上的目录资源
  2. 一个关于301重定向的问题
  3. 360木马防火墙查杀出360se中了可疑代码
  4. 为什么要全文输出RSS?
  5. div+css和table的加载速度对SEO的影响
  6. Google承认会手动调整搜索排名
  7. Paypal未经授权的操作 – 卖家竟然胜了
  8. 如何去掉wordpress主题上的版权信息
  9. php中用smarty section多维数组的循环
  10. table、DIV、XHTML建站的区别
10 Comments

10 Comments

  1. 博主,我按照此方法,把这段代码Order allow,deny

    Deny from 123.45.67.8

    Deny from 123.123.7

    Allow from all

    追加到.htaccess里。发现貌似不管用啊~所限制的IP用户人家照样能够访问,问题出在哪儿呢??

  2. apache 的确很强大,好好利用.htaccess功能,受用了

  3. 有些IP是机器自动生成的,也能限制吗?

    • 只是在apache服务器写.htaccess这种方式,写入拒绝服务的IP或者IP段,当某IP在被限制之列,则服务器拒绝为此IP服务,这里所说的都是实际IP。但如果用代理服务器翻墙的话,便可解决这种限制。

  4. 限制了以后他们就打不开网站吗?

  5. 也有spam..那些spam的IP还各不相同。。

  6. 嘿嘿 学到了。。哈哈

Leave a Reply

Using Gravatars in the comments - get your own and be recognized!

XHTML: These are some of the tags you can use: <a href=""> <b> <blockquote> <code> <em> <i> <strike> <strong>