如何使用.Htaccess防止对网站的IP恶意攻击

509 ℃

如何利用.Htaccess防止对网站的IP恶意攻击,禁止访问指定域名,禁止机器爬虫,禁止链盗。可以在.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

指定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禁用机器爬虫(机器人、蜘蛛)

在中国,我认为你唯一需要的搜索引擎是谷歌和百度。其他小型搜索引擎,如搜狗和360,可以忽略。否则,这些不重要的搜索引擎的爬虫不仅会给你带来好处,还会扼杀你的网站。以下是禁止它们的方法:

#get rid of the bad bot
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^BadBot
RewriteRule ^(.*)$ http://ipkd.cn/

上面是禁止一种爬虫,如果想禁止多个,你可以在.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://ipkd.cn/

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

使用.Htaccess禁止连锁盗窃(hotlink)

如果你的网站很受欢迎,你的网站上肯定会有图片或者视频之类的资源,有些人会毫无职业道德地直接嵌入到他们的页面中,占用或者浪费你的带宽,影响你服务器的稳定性。对于这种连锁盗窃.Htaccess可以很容易地保护他们不被窃取,如下所示:

RewriteEngine on
RewriteCond %{HTTP_REFERER} ^http://.*ipkd.cn\.cn [NC]
RewriteRule .* - [F]

在.Htaccess中添加了上面这段代码后,ipkd.cn网站盗链你的网站资源时,服务器会返回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]

.htaccess是一种非常强大的网站服务器配置工具,通过它,你能对网站服务器拥有丰富自由的掌控,而是解决方法通常是非常的简单、优雅、基本上不需要重启服务器,也就是立即生效。

阿里云服务器DDos攻击状态显示“黑洞中”怎么办?

标签: 恶意攻击, 机器爬虫

上面是“如何使用.Htaccess防止对网站的IP恶意攻击”的全面内容,想了解更多关于 seo教程 内容,请继续关注web建站教程。

当前网址:https://m.ipkd.cn/webs_1657.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

dede织梦cms本地测试好上传到空间的问题
php利用内置函数实现Base64的编码和解码
Vue如何利用provide/inject实现跨级共享
js用正则判断是ios系统还是android系统
如何在MySQL中获取上月的第一天?