如何通过htaccess记录阻止的用户代理和阻止的ips?

时间:2015-03-23 02:47:47

标签: apache .htaccess block agent

我有一个 .htaccess 文件,其中包含以下内容,但如果有人,我不知道它会阻止谁。有人可以告诉我如何编写被阻止的用户代理和IP的日志文件。

RewriteEngine on
        RewriteCond %{HTTP_USER_AGENT} ^[Ww]eb[Bb]andit [NC,OR]
        RewriteCond %{HTTP_USER_AGENT} ^Acunetix [NC,OR]
        RewriteCond %{HTTP_USER_AGENT} ^ZyBorg [NC]
        RewriteRule ^.* - [F,L]

1 个答案:

答案 0 :(得分:1)

你没有阻止他们,你正在将他们重定向到403禁止。 (你应该使用Fail2Baniptables之类的东西阻止它们进入防火墙)

您没有阻止他们,我相信您可以在access.log中看到请求(您可以使用grep 403 access.log


您可以根据需要将它们重定向到页面x.php日志。更妙的是,您可以在x.php中加入robots.txt(通常是Bad-Crawlers disobey robots.txt说明)并将其捕获

x.php代码:

<?php
$file = fopen("crawlers.txt", 'a+');
$log = date('m-d-Y H:i:s') . " [" . $_SERVER['REMOTE_ADDR'] . "] http://" . $_SERVER['SERVER_NAME'] . $_SERVER["REQUEST_URI"];
fwrite($file, $log . "\n"); 

如果您需要更多信息,请阅读此页面。它应该拥有你需要的一切。

http://php.net/manual/en/reserved.variables.server.php

相关问题