Как заблокировать сканеров, таких как spyder/Nutch-2, от посещения определенной страницы?

65
10

У меня есть клиентское приложение Windows, которое потребляет php-страницу, размещенную на общем коммерческом веб-сервере.

На этой странице php я возвращаю зашифрованный json. Также на этой странице у меня есть часть кода, чтобы отслеживать, какие IP-адреса посещают эту страницу php, и я заметил, что на этой странице есть spyder/Nutch-2.

Я блуждаю, как возможно, что искатель мог найти страницу, которая не публикуется ни в каких поисковых системах. У меня есть способ заблокировать сканеров от посещения этой конкретной страницы?

Должен ли я использовать файл .htaccess для его настройки?

спросил(а) 2021-01-19T19:10:58+03:00 6 месяцев, 2 недели назад
1
Решение
77

Вы можете запретить определенные сканеры, выполнив это;

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-адрес. Это означает, что вам нужно отслеживать журналы доступа. И решить, какие агенты должны быть заблокированы, и добавить их в список вручную

ответил(а) 2021-01-19T19:10:58+03:00 6 месяцев, 2 недели назад
78

Вы действительно можете использовать .htaccess. robots.txt - еще один вариант, но некоторые сканеры игнорируют это. Вы также можете блокировать определенные строки пользовательского агента. (Они отличаются от гусеничного хода до гусеничного)

robots.txt:

User-agent: *
Disallow: /

В этом примере говорится, что все роботы остаются вне веб-сайта: вы можете блокировать определенные каталоги

Disallow: /demo/

Дополнительная информация о robots.txt

ответил(а) 2021-01-19T19:10:58+03:00 6 месяцев, 2 недели назад
46

Закрыть. Было бы лучше использовать файл robots.txt. Связанная с вами страница объясняет, почему вы хотите настроить ее и как это сделать. В итоге:

Это позволяет избежать траты ресурсов сервера, поскольку пауки и боты запускают скрипты на странице. Он может сэкономить полосу пропускания. Он удаляет беспорядок из веб-сайтов. Вы можете настроить его, чтобы исключить только определенные роботы.

Одно предостережение я должен упомянуть. Некоторые пауки закодированы, чтобы игнорировать файл robots.txt и даже будут проверять его, чтобы увидеть, чего вы не хотите, чтобы они посещали. Однако пауки из легированных источников будут подчиняться директивам robots.txt.

ответил(а) 2021-01-19T19:10:58+03:00 6 месяцев, 2 недели назад
46

Вы можете запретить конкретный IP-адрес с файлом.htaccess:

Order Deny,Allow
Deny from xxx.xx.xx.xx

где xxx представляет IP-адрес

ответил(а) 2021-01-19T19:10:58+03:00 6 месяцев, 2 недели назад
46

Вы можете использовать.htaccess или другой вариант - использовать PHP-код. В верхней части PHP-кода просто введите что-то вроде этого:

if(strpos($_SERVER['HTTP_USER_AGENT'],'spyder/Nutch-2') !== false) {
die();
}
//rest of code here

ответил(а) 2021-01-19T19:10:58+03:00 6 месяцев, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема