如何屏蔽恶意访问IP

最近一段时间发现我的博客隔三差五的就有一个访问高峰,在同一时刻近百个IP访问我的网站,并且只是访问首页而已,停留几秒遍离开了,这是一种不正常的访问。我想我的小博客没什么名气,和别的网站也没有什么利益冲突。应该不会有人对我进行DDOS攻击吧。但是我的博客是使用的廉价虚拟机,无论是不是恶意攻击,这样的短时间内的高强度访问,对我们的博客都是一定的冲击。
我首先分析了访问我博客这些IP的特征,发现全部是来自北京、浙江、山东三个地区的。IP段分别是:27.221.37.* 115.239.212.* 111.13.102.*

我首先想到的方法是屏蔽IP,到底在哪一层屏蔽IP呢?

我首先想到的是最外边的DNS层,如果这些IP访问我的网站,我不给它域名解析了,它的请求就到不了我的服务器,问题也解决了。我的域名解析使用了DNSPod,登陆上去查看了控制面板的所有功能,貌似没有提供这样的服务。那就只能在服务器上做屏蔽了,只要是这些ip来的请求,我返回一个403错误,问题也解决了,然而在西部数码的控制面板上也好像没找到这样的功能。

我遍寻百度,看到网站上关于使用apache的.htaccess文件来屏蔽ip访问的方法。而我的网站的根目录下确实是有这么一个文件。恶补了一下htaccess文件的来历和用途,发现确实是可以实现这样的功能的。然后我按网站上介绍的方法,在根目录的.htaccess文件中加入下面的语句:

Order Allow,Deny
Allow from all
Deny from 115.239.212 111.13.102 27.221.37

我首先屏蔽了自己的IP,发现该功能并未起效,自己照样可以访问自己的博客,无奈我只好咨询了西部数码的工作人员,欣喜的是他们给了正确的操作方法,在htacess文件中加入下面的语句即可:

<IfModule mod_rewrite.c>
RewriteEngine On
##Block ip
RewriteCond %{http:X-Forwarded-For}&%{REMOTE_ADDR} (27.221.37|115.239.212|111.13.102) [NC]
RewriteRule (.*) – [F]
</IfModule>

最终问题解决了,希望不再有恶意的攻击。

  1. 布吉岛说道:

    希望 您的方法管用,我现在 也遇到了这种问题,恶意攻击。。而且ip还是变化的。目前已经换了3个ip了。

  2. Vans爱好者说道:

    同样是这毛病,但是没你这么多IP在扫。

  3. 微信营销博客说道:

    我倒没有出现这种状况过。

回复 取消

提示:你的email不会被公布,欢迎留言^_^

*

验证码 *