如何用.htaccess阻止Bot

时间:2013-12-11 18:24:56

标签: .htaccess bots

我遇到了bot *和* bot的问题。我对.htaccess知之甚少,但一直在使用.htaccess规则阻止机器人。

我的问题分为两部分:

  1. 我的方法是否正确,如果不是我如何改进,
  2. 阻止*僵尸程序*
  3. 的正确语法是什么

    非常感谢提前

    #Enable RewriteEngine
    RewriteEngine On
    
    # Stop the Nasties!!
    RewriteBase /
    
    
    RewriteCond %{HTTP_USER_AGENT} ^autoemailspider [OR]
    RewriteCond %{HTTP_USER_AGENT}  baiduspider [NC,OR]
    RewriteCond %{HTTP_USER_AGENT}  baidu [NC,OR]
    RewriteCond %{HTTP_USER_AGENT}  Baiduspider [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Baiduspider* [OR]
    
    RewriteRule ^.* - [F,L]
    

2 个答案:

答案 0 :(得分:0)

RewriteEngine On 
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:craftbot@yahoo.com [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Zeus 
RewriteRule ^.* - [F,L]

是的,这是正确的方式......

并且,如果你想阻止任何IP,那么作为一个例子:

Order Deny,Allow
Deny from 127.0.0.1

答案 1 :(得分:0)

您可以将所有这些条件合并为一个:

RewriteCond %{HTTP_USER_AGENT} (autoemailspider|baidu) [NC]
RewriteRule ^ - [F]

NC用于忽略大小写。