利用.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
相关文章
"automation服务器不能创建对象”的问题的解决方案总结大全
"automation服务器不能创建对象”的问题的解决方案总结大全...2007-04-04
windows 2003配置IIS支持.shtml .shtm 的简单方法 图文教程
windows 2003配置IIS支持.shtml .shtm 的简单方法 图文教程...2007-04-04
解决IIS的Server Application Error的3种方法
The server has encountered an error while loading an application during the processing of your request. Please refer to the event log for more detail information. Please contact the server administrator for assistance2006-12-12
Windows Server2012 安装配置DNS服务器方法详解
这篇文章主要介绍了Windows Server2012 安装配置DNS服务器方法,需要的朋友可以参考下2018-03-03
win2003下安装apache2.2.3+php5.2+mysql+Zend的配置方法
win2003下安装apache2.2.3+php5.2+mysql+Zend的配置方法...2007-05-05


最新评论