利用.Htaccess文件阻止来自某些IP的恶意网站攻击

作者:hack1990 时间:15-08-24 阅读数:838人阅读

在.Htaccess文件里添加了下面这段配置:


order allow,deny

  deny from 180.97.106.

  allow from all


.Htaccess对与一个网站来说是一种功能非常强大的配置文件。对它的功能了解的越多


你就越容易掌控你的网站配置,利用.Htaccess来禁止某个IP对网站的访问是它是基本功能之一


上面的配置只是用法之一,下面我将汇总一下在这个相关主题下的更多的用法


指定IP阻挡访问


order allow,deny

  deny from 192.168.44.201

  deny from 224.39.163.12

  deny from 172.16.7.92

  allow from all


上面的代码展示了如何禁止3个不同的IP对网站的访问


指定IP段阻挡访问


如果你手头有很多IP要禁止,觉得一个一个指定太麻烦,下面是如何一次禁止一个IP段

:

order allow,deny

  deny from 192.168.

  deny from 10.0.0.

  allow from all


指定域名阻挡访问


order allow,deny

  deny from some-evil-isp.com

  deny from subdomain.another-evil-isp.com

  allow from all


上面的代码可以阻止特定的 ISP 对网站的访问


使用.Htaccess禁止机器爬虫(bots,spiders)


在中国,我想你需要的搜索引擎只有谷歌和百度,其它的小搜索引擎


比如搜狗、360等都可以忽略,否则,这些不重要的搜索引擎的爬虫不但不会给你带来好处


而且会爬死你的网站。下面就是如何禁止它们的方法:


#get rid of the bad bot

  RewriteEngine on

  RewriteCond %{HTTP_USER_AGENT} ^BadBot

  RewriteRule ^(.*)$ http://go.away/


上面是禁止一种爬虫,如果想禁止多个,你可以在.Htaccess里这样配置:


#get rid of bad bots

  RewriteEngine on

  RewriteCond %{HTTP_USER_AGENT} ^BadBot [OR]

  RewriteCond %{HTTP_USER_AGENT} ^EvilScraper [OR]

  RewriteCond %{HTTP_USER_AGENT} ^FakeUser

  RewriteRule ^(.*)$ http://go.away/


这段代码就同时阻止了3中不同的爬虫,注意其中的 “[OR]” 


使用.Htaccess禁止盗链(hotlink)


如果你的网站很受人欢迎,肯定就会有喜欢你网站上的图片或视频等资源


有些人会没有职业道德的直接嵌入它们的页面中,占用或浪费你的带宽,影响你的服务器的稳定


对于这样的盗链行为,使用.Htaccess很容易屏蔽它们的盗取,就像下面:


RewriteEngine on

  RewriteCond %{HTTP_REFERER} ^http://.*somebadforum\.com [NC]

  RewriteRule .* - [F]


在.Htaccess中添加了上面这段代码后,当somebadforum.com网站盗链你的网站资源时


服务器会返回403 Forbidden错误,你的带宽将不再遭受损失


下面的代码是如何阻止多个网站:


RewriteEngine on

  RewriteCond %{HTTP_REFERER} ^http://.*somebadforum\.com [NC,OR]

  RewriteCond %{HTTP_REFERER} ^http://.*example\.com [NC,OR]

  RewriteCond %{HTTP_REFERER} ^http://.*lastexample\.com [NC]

  RewriteRule .* - [F]


你也看到了, .htaccess是一种非常强大的网站服务器配置工具,通过它


你能对网站服务器拥有丰富自由的掌控,而是解决方法通常是非常的简单


优雅、基本上不需要重启服务器,也就是立即生效


如果你的服务器上还没有这个配置文件,赶紧建一个吧


发表评论