如何使用.htaccess来阻止访客访问你的网页?

  • A+
所属分类:网站优化

『本文热词:SEO优化,SEO技巧,郑州网站优化,SEO技术』

如何使用.htaccess来阻止访客访问你的网页?

在这个文章中,我们将会讨论「如何通过.htaccess阻止不想要的访客或是机器人访问你的网页」

.htaccess是在服务器中的隐藏文件,它可以控制网页与其他工具之间存取的权限。

按照下面步骤,我们可以通过几种不同的方法,可以阻挡不需要的访客进入你的网页。

编辑你的.htaccess文件

要使用任何的方式去阻挡一个不需要的访客进入你的网页,你必须要编辑.htaccess文件。

使用IP位址阻挡

网页的问题,很可能是一组或是多组IP位址造成的,在这样的情况下,你可以很简单的编辑设计一些代码,从你的网页权限来阻挡这些有问题的IP位址。

如何使用.htaccess来阻止访客访问你的网页?

如何使用.htaccess来阻止访客访问你的网页?

阻挡单一IP位址

如果只想阻挡一组IP或是多个不同范围内的IP,你可以使用设计编辑以下代码

denyfrom123.123.123.123

阻挡多个IP位址

阻挡一个范围的IP,例如123.123.123.1-123.123.123.255,你也可以把最后一组位删除。

denyfrom123.123.123

你也可以使用CIDR(ClasslessInter-DomainRouting)无类别区隔路由标记方式来阻挡IP。

阻挡范围123.123.123.1-123.123.123.255,使用123.123.123.0/24

阻挡范围123.123.64.1-123.123.127.255,使用123.123.123.0/18

denyfrom123.123.123.0/24

依据User-Agentstring来阻挡不良用户

一些恶意的用户会使用不同的IP传送请求,但是在这些全部请求之中,只使用相同的User-Agent,在这种情况下,你可以只阻挡用户的User-Agent字串。

阻挡单个不良User-Agent

如果你只想阻挡一个特殊的User-Agent字串,你可以使用RewriteRule。

RewriteEngineOn

RewriteCond%{HTTP_USER_AGENT}Baiduspider[NC]

RewriteRule.*-[F,L]

二择一,你也可以使用BrowserMatchNoCase服务器指令,设计编辑以下代码

BrowserMatchNoCase“Baiduspider”bots

OrderAllow,Deny

AllowfromALL

Denyfromenv=bots

 阻挡多个不良User-Agent

如果你想一次阻挡多个User-Agent,你可以设计编辑以下代码。

RewriteEngineOn

RewriteCond%{HTTP_USER_AGENT}^.*(Baiduspider|HTTrack|Yandex).*$[NC]

RewriteRule.*-[F,L]

或者你也可以使用BrowserMatchNoCase服务器指令,设计编辑以下代码

BrowserMatchNoCase“Baiduspider”bots

BrowserMatchNoCase“HTTrack”bots

BrowserMatchNoCase“Yandex”bots

OrderAllow,Deny

AllowfromALL

Denyfromenv=bots

阻挡不良参照链接(盗链)

Blockasinglebadreferer

阻挡单个参照链接

如果你只想阻挡单个参照链接例如:example.com,你可以使用RewriteRule,设计编辑以下代码

RewriteEngineOn

RewriteCond%{HTTP_REFERER}example.com[NC]

RewriteRule.*-[F]

二择一,你也可以使用SetEnvIfNoCase服务器指令,设计编辑以下代码,设计编辑以下代码

SetEnvIfNoCaseReferer“example.com”bad_referer

OrderAllow,Deny

AllowfromALL

Denyfromenv=bad_referer

Blockmultiplebadreferers

阻挡多个参照链接

如果你想阻挡多个参照链接例如:example.com、example.net,你可以设计编辑以下代码。

RewriteEngineOn

RewriteCond%{HTTP_REFERER}example.com[NC,OR]

RewriteCond%{HTTP_REFERER}example.net[NC]

RewriteRule.*-[F]

或者你也可以使用SetEnvIfNoCase服务器指令,设计编辑以下代码

SetEnvIfNoCaseReferer“example.com”bad_referer

SetEnvIfNoCaseReferer“example.net”bad_referer

OrderAllow,Deny

AllowfromALL

Denyfromenv=bad_referer

 暂时阻止不良搜索机器人

在某些情况下,你或许不想要直接传送403信息网页给访客,因为那是个(长时间)拒绝他进入网页的信息。

举个例子来说,例如当天有个行销活动,网页将会产生大量的的网络流量,在这期间,你不想要让一些好的搜索引擎机器人像是Google或是雅虎,进入你的网页并检索网页,因为有可能会使用额外的流量来增加服务器的负担

以下代码,将可以用503响应的方式来设定基本的错误网页信息,这是用预设的方式去告诉搜索引擎,这个请求只是暂时性的被阻挡并且一段时间后可以再尝试。503响应与403响应是不同的,503是通过430响应来暂时性的拒绝进入权限,像是Google将会确认为503响应后,他们将会再来尝试检索网页,并非删除他的检索。

ErrorDocument503“Sitetemporarilydisabledforcrawling”

RewriteEngineOn

RewriteCond%{HTTP_USER_AGENT}^.*(bot|crawl|spider).*$[NC]

RewriteCond%{REQUEST_URI}!^/robots.txt$

RewriteRule.*-[R=503,L]

当你注意到一些新的搜索机器人在爬(抓取)你的网页太频过频繁,并且你想要阻挡他们或是让他们不要那么频繁抓取,可以使用robots.txt文件来处理,是一个不错的方式。

一样的,它会以503方式响应请求,直到它们读取到你新的robots.txt规则,在来执行它。你可以阅读【「如何使用robots.txt阻止搜索引擎爬(抓取)你的网页?」】

以下代码会抓取User-Agent的任何请求,其中包含搜索机器人、搜索爬虫、搜索蜘蛛,大多数主要的搜索引擎都是符合的,第二个RewriteCond是允许这些机器人仍然可以请求robots.txt文件来核对最新的规则,但是任何其他的请求都很单纯的得到503网页响应或是“Sitetemporarilydisabledforcrawling”。

常态来说,你在开始使用两天后,还不想删除503响应的话,Google可能会开始去理解成长时间的服务器中断,并且会开始从Google的索引删除你的网页链接。

以上就是关于【如何使用.htaccess来阻止访客访问你的网页?】的文章内容,如果您还想了解更多关于SEO优化与SEO技巧的相关文章,请继续查看【网站优化】栏目的其它文章,或请关注郑州SEO凯瑞博客(www.krseo.cn)。

郑州SEO凯瑞

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: