@falkas

Как запретить доступ к сайту при прямом заходе, исключая ботов ПС?

Для примера, есть сайт igrydengy.ru. Если зайти на сайт из яндекса по любому запросу, то сайт открывается. А если сделать прямой заход, то выдаст сообщение "Доступ к сайту закрыт для пользователей из РФ". Причем поисковые системы хорошо индексируют данный сайт. Значит боты в исключениях. Как этого можно добиться? В голову пришла подобная идея, но код ниже запрещает доступ и ботам ПС.
if (empty($_SERVER['HTTP_REFERER'])) {
 echo 'сайт закрыт для пользователей из РФ';
}
else {
echo 'Реферер есть, контент доступен';
}
  • Вопрос задан
  • 488 просмотров
Пригласить эксперта
Ответы на вопрос 1
inoise
@inoise Куратор тега PHP
Solution Architect, AWS Certified, Serverless
Валидация происходит по заголовкам. Есть официальный список заголовков поисковых машин. Это раз.

Два - блокировка производится по региону, за исключением ботов.

Три - вы правы, логика сайта тут не при чем. Это делают на уровне маршрутизации трафика: CDN (Cloudfront, Cloudflare и т.п.)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы