Блокируем referrer spam с Nginx

0 Comments
nginx-logo

Защищаем домен и отбиваем атаку рефспама с помощью Nginx.

Самым простым способом защиты будет перечисление проблемных реферов, и отдача 444 ошибки соединениям с ними:

if ($http_referer ~* "(domain1.com|domain2.com|domain3.com)") {
return 444;

Используем map.

C помощью map, мы можем пометить нежелательный рефер:

map $http_referer $bad_referer {
default 0;
"~domain1.com" 1;
"~domain2.com" 1;
"~domain3.com" 1;
#...
"~domainN.com" 1;
}

А затем отдать таким соединениям код 444:

if ($bad_referer) {
return 444;
}

Используем valid_referers.

Параметр valid_referers задаёт значения поля Referer, при которых переменная invalid_referer будет пустой. В остальных случаях invalid_referer получит значение 1.

valid_referers none blocked server_names
               *.domain.com domain.* www.domain.ru/path/
               ~\.google\. ~\.yandex\.;

Далее, просто выполняем проверку, и если invalid_referer оказывается не пустой, отдаём ответ 444.

if ($invalid_referer) {
 return 444;
}

Используем готовые списки с GitHub.

Энтузиасты на Github предлагают уже готовые решения в виде списков или заранее заготовленных конфигов для Nginx (и других веб-серверов на самом деле), в которых собраны домены, продвигаемые рефспамом. Пример такого репозитория — referrer-spam-blocker. Использовать такие решения или нет, каждый администратор для себя решает сам. Как минимум, при использовании такого списка стоит проверить, нет ли чего-то лишнего в нём, и только потом применять его на своём сервере.

Если есть вопросы, то пишем в комментариях.

Также можете вступить в Телеграм канал, ВК или подписаться на Twitter. Ссылки в шапки страницы.
Заранее всем спасибо!!!

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Получаем сертификаты Let’s Encrypt для домена.
lets-encrypt

Сегодня в статье разберем установку SSL сертификата от Let's Encrypt для домена, при помощи cerbot на Ubuntu\Debian системы.

Пинг сервисы обновления wordpress 2020
wordpress-logo

Составил и отсортировал повторяющиеся пинг сервисы для блогов WordPress в 2020 году. Копируйте и пользуйтесь моим списком пинг сервисов.

Как можно отобразить дату последнего изменения поста на WordPress?
wordpress-logo

Сегодня в статье разберемся как можно отобразить дату последнего изменения поста на CMS WordPress. Есть веб-сайты которые регулярно обновляют свои Читать

Использование сервиса «Оригинальные тексты» от Яндекса
webmaster.yandex-logo

Сегодня расскажу как добавить ваш текс в «Оригинальные тексты» от Яндекс.Вебмастер. Если вы пишите только оригинальные тексты на своем сайте, Читать

0 0 голоса
Рейтинг статьи

Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 комментариев
Inline Feedbacks
Просмотреть все комментарии

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов cookie) с использованием трекеров "Google Analytics" и "Yandex.Metrics". Порядок обработки Ваших персональных данных, а также реализуемые требования к их защите, содержатся в Политике конфиденциальности.
Принять