@Roman2199

Как запретить прямой вход на сайт?

Здравствуйте! Я хочу решить следующую задачу:
1. На сайт можно попасть только с поисковой системы, причем любая поисковая система, то есть поисковик должен индексировать сайт регулярно, боты должны попадать на сайт
2. По прямой ссылке нельзя перейти на сайт.

Хотел решить проблему через Cloudflare, но как я читал что он только регион может ограничить, а не прямой заход. Можете подсказать в какую сторону смотреть и может кто-то сталкивался с такой задачей?
  • Вопрос задан
  • 177 просмотров
Пригласить эксперта
Ответы на вопрос 1
pro100chel
@pro100chel
Python && PHP Developer
Cам запрос из поисковика и напрямую мало чем отличается.

Тут нужно разделить задачу на более мелкие и разобраться в каждой.

1. Нужно сделать так, чтобы поисковики получали доступ к сайту без проблем. Поисковики бегают по сайтам ботами с определенным user-agent и ip адресами. Тот же клаудфраер в основном различает их - правило в Security - WAF - Firewall Rules (название фильтра Known bots). Но это правило поддерживает только в этом разделе, а там можно только выдать вердикт о легитимности запроса (выбить на него капчу, пропустить, заблокировать и т.д.). В принципе, можно выбрать вариант пропустить запрос далее и закончить на этом.

2. Далее нам нужно пропустить юзверей с поисковика к нам на сайт. От перехода напрямую, переход из поисковика отличается иногда параметрами запроса (например в url есть параметры, такое бывает, если ты рекламу долбанул в яндексе и оттуда перешел типок, но это не надежно). Следующее - заголовок Referer - в нем содержится url откуда перешел юзер, например, перешел ты из яндекса, то будет Referer=https://yandex.ru/ и так далее, в каждом поисковике свой. Соответственно в том же правиле Cloudflare можно выбрать пункт Or (или то или другое условие) и указать там список Referer с которыми также нужно пропускать запросы на сайт.

И последнее, нам нужно будет создать другое правило и инверсировать условия (добавить НЕ перед ними) и выбрать действие - заблокировать. Тогда если к нам перешли не из поисковика или же не сам бот поисковика, то его не пустит на сайт и выбьет дефолтную cloudflare страницу с ошибкой.

Но тут есть очень важные моменты.

Первый - это защита от дурака, если ты так собираешься защищаться от дудоса (а в тегах вопроса это есть) то затея изначально провальная. Даже в массовых парсерах уже давно научились подменять referer на значения поисковиков и тебя спарсят или задудосят в любом случае.

Второй момент - поисковикам очень не нравится такое поведение сайта. Это называется серый клоакинг (вроде не совсем разумно клоачим, но все-таки есть какие-то приколы с работой сайта). Поисковики, разумеется не разглашают полную схему проверки сайтов. Но помимо понятных ботов (с юзерагентом яндекса, гугла или еще чем и их айпишником) гоняют еще и простые боты без опознавательных знаков. Так вот, если этот бот попадет на твой сайт и увидит, что там контент отличается от того, что ты показываешь людям - то он может понизить твой рейтинг в выдаче и еще чего хуже может наделать. Кроме автоботов, подозреваю, и и ходят слухи, что гоняют еще и простые модераторы в ручном режиме проверяют сайты. Тут уже они тебя выбьют из выдачи за клоакинг.
Ответ написан
Ваш ответ на вопрос

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

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