有童鞋的博客经常收到垃圾留言,感觉很恶意的,就像我这个博客也未能幸免,收到的大量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.
阅读了本文的人还看了:

博主,我按照此方法,把这段代码Order allow,deny
Deny from 123.45.67.8
Deny from 123.123.7
Allow from all
追加到.htaccess里。发现貌似不管用啊~所限制的IP用户人家照样能够访问,问题出在哪儿呢??
当然,其中的IP我是替换成了被限制访问用户的IP的啊。
如果用对方翻墙是限制不了的
apache 的确很强大,好好利用.htaccess功能,受用了
有些IP是机器自动生成的,也能限制吗?
只是在apache服务器写.htaccess这种方式,写入拒绝服务的IP或者IP段,当某IP在被限制之列,则服务器拒绝为此IP服务,这里所说的都是实际IP。但如果用代理服务器翻墙的话,便可解决这种限制。
限制了以后他们就打不开网站吗?
对于目的是spam看客,往往是不受欢迎的,呵呵
也有spam..那些spam的IP还各不相同。。
嘿嘿 学到了。。哈哈