利用.Htaccess阻止IP恶意攻击网站,禁止指定域名访问,禁止机器爬虫,禁止盗链
前几天发现我的网站被一些IP发起了大量恶意的、有针对性的扫描,企图通过暴力探测方式获取网站中一些内部配置文件和信息。我是用.Htaccess来化解攻击的,就是在.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是一种非常强大的网站服务器配置工具,通过它,你能对网站服务器拥有丰富自由的掌控,而是解决方法通常是非常的简单、优雅、基本上不需要重启服务器,也就是立即生效。
如果你的服务器上还没有这个配置文件,赶紧建一个吧!
理多关于利用.Htaccess文件阻止IP恶意攻击网站的文章请点击下面的相关链接
- 使用.htaccess设置图片防盗链的详细方法
- Apache使用 .htaccess 来实现强制https访问的方法
- 让Apache 2支持.htaccess并实现目录加密的方法
- APACHE支持.htaccess伪静重写出错 No input file specified的解决方案
- Apache使用.htaccess 屏蔽恶意 User Agent(防蜘蛛)
- PHP中的.htaccess伪静态文件
- 禁止网站显示文件目录列表的2个方法(htaccess)
- .htaccess rewrite 规则详细说明
- Apache服务器中.htaccess文件的实用配置示例集锦
- 使Nginx服务器支持.htaccess的方法
- Apache服务器中.htaccess的基本配置总结
- Apache服务器中使用.htaccess实现伪静态URL的方法
- Ubuntu下开启Apache对.htaccess 的支持
- Apache2.4.x版wampserver本地php服务器如何让外网访问及启用.htaccess
- nginx支持.htaccess文件实现伪静态的方法分享
- apache使用.htaccess文件实现屏蔽wget下载网站内容
- 21个常用的apache .htaccess文件配置技巧分享
- 教你如何在CI框架中使用 .htaccess 隐藏url中index.php
最新评论