Задать вопрос
@falkas

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

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

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

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

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

Похожие вопросы