Как заблокировать сканеров, таких как spyder/Nutch-2, от посещения определенной страницы?
У меня есть клиентское приложение Windows, которое потребляет php-страницу, размещенную на общем коммерческом веб-сервере.
На этой странице php я возвращаю зашифрованный json. Также на этой странице у меня есть часть кода, чтобы отслеживать, какие IP-адреса посещают эту страницу php, и я заметил, что на этой странице есть spyder/Nutch-2
.
Я блуждаю, как возможно, что искатель мог найти страницу, которая не публикуется ни в каких поисковых системах. У меня есть способ заблокировать сканеров от посещения этой конкретной страницы?
Должен ли я использовать файл .htaccess
для его настройки?
Вы можете запретить определенные сканеры, выполнив это;
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (spyder/Nutch-2) [NC]
#For multi block
#RewriteCond %{HTTP_USER_AGENT} (spyder/Nutch-2|baidu|google|...) [NC]
RewriteRule .* - [R=403,L]
Этот искатель может изменить имя агента, поэтому это может быть не решение. Вам нужно заблокировать этот искатель, глядя на нужный ip-адрес;
Order Deny,Allow
Deny from x.x.x.x
Однако этот бот также может изменить свой IP-адрес. Это означает, что вам нужно отслеживать журналы доступа. И решить, какие агенты должны быть заблокированы, и добавить их в список вручную
Вы действительно можете использовать .htaccess
. robots.txt
- еще один вариант, но некоторые сканеры игнорируют это. Вы также можете блокировать определенные строки пользовательского агента. (Они отличаются от гусеничного хода до гусеничного)
robots.txt:
User-agent: *
Disallow: /
В этом примере говорится, что все роботы остаются вне веб-сайта: вы можете блокировать определенные каталоги
Disallow: /demo/
Закрыть. Было бы лучше использовать файл robots.txt. Связанная с вами страница объясняет, почему вы хотите настроить ее и как это сделать. В итоге:
Это позволяет избежать траты ресурсов сервера, поскольку пауки и боты запускают скрипты на странице. Он может сэкономить полосу пропускания. Он удаляет беспорядок из веб-сайтов. Вы можете настроить его, чтобы исключить только определенные роботы.Одно предостережение я должен упомянуть. Некоторые пауки закодированы, чтобы игнорировать файл robots.txt и даже будут проверять его, чтобы увидеть, чего вы не хотите, чтобы они посещали. Однако пауки из легированных источников будут подчиняться директивам robots.txt.
Вы можете запретить конкретный IP-адрес с файлом.htaccess:
Order Deny,Allow
Deny from xxx.xx.xx.xx
где xxx представляет IP-адрес
Вы можете использовать.htaccess или другой вариант - использовать PHP-код. В верхней части PHP-кода просто введите что-то вроде этого:
if(strpos($_SERVER['HTTP_USER_AGENT'],'spyder/Nutch-2') !== false) {
die();
}
//rest of code here