.htaccess拒绝<ip>规则被忽略</ip>

时间:2014-10-15 19:35:54

标签: apache .htaccess ubuntu

Ubuntu 10.04.4 LTS
Apache 2.2.14
ISPConfig 3.0.4.2

我们的客户端有一个旧的Web服务器,它可能会破坏可能欺骗用户代理的恶意机器人/蜘蛛程序。我已经尝试了几乎所有htaccess配置,我可以想到试图阻止这些爬行网站,但无济于事。

此时,我正试图通过.htaccess阻止单个IP,但似乎没有任何效果。

我在vhost配置文件中将AllowOveride设置为“All”:

<Directory /var/www/<this_website>
    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

我启用了以下mod:

ls -x /etc/apache2/mods-enabled/
actions.conf     actions.load        alias.conf            alias.load       auth_basic.load   auth_digest.load
authn_file.load  authz_default.load  authz_groupfile.load  authz_host.load  authz_user.load   autoindex.conf
autoindex.load   cgi.load            dav_fs.conf           dav_fs.load      dav.load          deflate.conf
deflate.load     dir.conf            dir.load              env.load         expires.load      fcgid.conf
fcgid.load       include.load        mime.conf             mime.load        negotiation.conf  negotiation.load
php5.conf        php5.load           reqtimeout.conf       reqtimeout.load  rewrite.load      ruby.load
setenvif.conf    setenvif.load       ssl.conf              ssl.load         status.conf       status.load
suexec.load      suphp.conf          suphp.load

webroot中的.htaccess文件的snippit:

...
order allow,deny
Allow from all
Deny from 180.76.6.45
...

我已经通过在阻止列表底部添加“全部拒绝”来验证正在读取.htaccess文件。在使用浏览器访问主页后,我得到了一个预期的Apache“Forbidden”页面。但是,在观看访问日志时,我仍然看到.htaccess写完之后很久......

180.76.6.45 - - [15/Oct/2014:19:22:24 +0000] "GET /legacy HTTP/1.1" 403 0 "-" "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"

对于列表中的每个其他IP也是如此。为什么我的“拒绝来自IP”指令被忽略了?

1 个答案:

答案 0 :(得分:1)

您的IP阻止正常; - )

Apache访问日志报告页面访问成功和失败。失败不是错误。如果Apache无法成功执行指令,加载模块或出现某种错误,则会出现错误。

“请求路径协议”后面的返回代码&#39;字符串"GET /legacy HTTP/1.1",是403 - 这意味着禁止&#39;,换句话说,访问被拒绝。我不知道你的日志格式,所以我不能确定,但​​是在&#403; 403&#39;之后的价值。可能是返回的字节数,它应该是(应该是)零。