На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Убираем 503 и блокируем баблософт


Заметил, что последние несколько дней страницы моего сайта upread.ru стали медленнее, чем обычно открываться. А иногда даже выдавать ошибку 503 (503 Service Temporarily Unavailable). Это совсем нехорошо, поэтому пришлось разобраться.



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

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

В плане статики и прочего мой блог уже давно оптимизирован, так что я решил не копать в этом направлении. Но надо же куда-то копать? Первым делом смотрим на посещаемость – если она резко увеличилась, то дело может быть в этом. Сервер не успевает обработать запросы и просит иногда подождать. В данном случае посещаемость моего блога не изменилась – если судить по статистике.

Но кроме статистики и реальных посетителей есть и боты. У меня уже довольно давно заблокированы разные боты от некоторых ненужных сеошных серверов (по названию), но может быть еще кто-то появился? Или какой-то поисковик стал задалбывать?

Смотрим логи сервера и находим переходы с каким-то непонятным реферером ip.bablosoft.com. Строчки типа таких:

upread.ru 213.234.214.189 - - [04/May/2020:08:00:03 +0300] "POST /random_site.php HTTP/1.1" 200 10663 "http://ip.bablosoft.com/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML like Gecko) Chrome/23.0.1271.95 Safari/537.11" "-" 185.72.146.140 0.413
Причем этот баблософт – больше 164 тысяч обращений к серверу за сутки! Однако, немало. Если перейти к данному поддомену, то он покажет ваш ip. Адрес на моем сервере random_site.php – это просто сервис генерации случайного сайта. Не знаю, зачем уж баблософту понадобилось столько переходов, вполне возможно, что он даже и не при чем, но напрашивается блокировка по рефереру.

Сделать блокировку по рефереру несложно. В моем случае просто в корневой файл .htaccess добавляем пару строк:

RewriteCond %{HTTP_REFERER} bablosoft\.com [NC]
RewriteRule .* – [F]
Проверить можно, например, так. В браузере FF кликаем правой кнопкой мыши на странице нужного сайта, выбираем «исследовать элемент», переходим на вкладку сеть, выбираем нужный запрос и нажимаем «Изменить и снова отправить». Здесь меняем в заголовке строку реферер и отправляем запрос:



Ответ будет вот такой:



В логах после этого должны появиться подобные строчки:

upread.ru 217.66.156.10 - - [05/May/2020:07:00:44 +0300] "GET /blog/new HTTP/2.0" 403 228 "http://ip.bablosoft.com/" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0" "-" 185.72.146.140 0.002
Последнее число (0.002) – это время, которое понадобилось для обработки запроса и отдачи его серверу. Оно в 200 раз меньше, чем 0.413 – обычный ответ. Кроме этого, в ответ мы ничего не отдаем пауку, так что он должен отстать со временем.

Так и произошло. Уже не следующий день в логах баблософта не было, а сервер сайта стал функционировать без проблем.

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



Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.



тегизаметки, сайтостроение, информационная безопасность





Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Проверка цифр числа на геометрическую прогрессию с помощью C#
Урок 32. Функции JavaScript: return


© upread.ru 2013-2020
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.