yponec 1 Опубликовано: 25 декабря 2018 Рассказать Опубликовано: 25 декабря 2018 Столкнулся с доссом сайта пост запросами. Обычными средствами заблокировать не получается. Суть в том, что с каждого ип посылается всего 2 запроса, после чего ип меняется. Досс идет постоянный уже полгода. Пока использую временное средство. Пример запросов к сайту в логах: 50.68.60.24 - - [25/Dec/2018:23:26:03 +0200] "POST /index.php?name=search HTTP/1.0" 403 211 "-" "python-requests/2.19.1" 50.68.60.24 - - [25/Dec/2018:23:26:03 +0200] "POST /index.php?name=search HTTP/1.1" 403 193 "-" "python-requests/2.19.1" 2601:345:8301:ee50:d87c:f6bf:ea18:25eb - - [25/Dec/2018:23:26:04 +0200] "POST /index.php?name=search HTTP/1.0" 403 211 "-" "python-requests/2.12.4" 2601:345:8301:ee50:d87c:f6bf:ea18:25eb - - [25/Dec/2018:23:26:04 +0200] "POST /index.php?name=search HTTP/1.1" 403 193 "-" "python-requests/2.12.4" 65.131.250.141 - - [25/Dec/2018:23:26:04 +0200] "POST /index.php?do=search HTTP/1.0" 403 211 "-" "python-requests/2.19.1" 65.131.250.141 - - [25/Dec/2018:23:26:04 +0200] "POST /index.php?do=search HTTP/1.1" 403 193 "-" "python-requests/2.19.1" Сейчас по таким запросам отдается 403 костылем в .htaccess RewriteCond %{REQUEST_METHOD} POST RewriteRule ^(.*/)?index.php$ - [L,F] Проблемка костыля в том, что перестает работать поиск на всех страницах сайта, кроме главной. Есть ли другое решение этой проблемы? Возможно в сервисе клоудфларе есть какое то решение? Буду всем признателен за советы. сайт лицензия - soaptv.me Цитата Ссылка на сообщение Поделиться на других сайтах
MSK 289 Опубликовано: 26 декабря 2018 Рассказать Опубликовано: 26 декабря 2018 Замените вызов поиска другим параметром. Не search, а, например find и исправьте соответствующую секцию в engine.php и посмотрите где еще он используется. Таким образом восстановите поиск. Цитата Ссылка на сообщение Поделиться на других сайтах
yponec 1 Опубликовано: 26 декабря 2018 Рассказать Опубликовано: 26 декабря 2018 Автор Даже не представляю как это сделать. Не силен в пхп. Да и не хотелось глобально лезть в файлы движка. Средствами htaccess ничего нельзя придумать? Цитата Ссылка на сообщение Поделиться на других сайтах
Gameer 310 Опубликовано: 26 декабря 2018 Рассказать Опубликовано: 26 декабря 2018 1 час назад, MSK сказал: Замените вызов поиска другим параметром. Не search, а, например find и исправьте соответствующую секцию в engine.php и посмотрите где еще он используется. Таким образом восстановите поиск. Это не поиск, у поиска другой url Цитата Ссылка на сообщение Поделиться на других сайтах
INFORMLINE 15 Опубликовано: 26 декабря 2018 Рассказать Опубликовано: 26 декабря 2018 (изменено) 2 часа назад, yponec сказал: Даже не представляю как это сделать. Не силен в пхп. Да и не хотелось глобально лезть в файлы движка. Средствами htaccess ничего нельзя придумать? Просто заблокируйте реферера: python-requests Изменено 26 декабря 2018 пользователем INFORMLINE Цитата Ссылка на сообщение Поделиться на других сайтах
MSK 289 Опубликовано: 26 декабря 2018 Рассказать Опубликовано: 26 декабря 2018 2 часа назад, Gameer сказал: Это не поиск, у поиска другой url как так другой??? 65.131.250.141 - - [25/Dec/2018:23:26:04 +0200] "POST /index.php?do=search HTTP/1.0" 403 211 "-" "python-requests/2.19.1" 65.131.250.141 - - [25/Dec/2018:23:26:04 +0200] "POST /index.php?do=search HTTP/1.1" 403 193 "-" "python-requests/2.19.1" switch ( $do ) { case "search" : if ($_REQUEST['mode'] == "advanced") $_REQUEST['full_search'] = 1; include (DLEPlugins::Check(ENGINE_DIR . '/modules/search.php')); break; https://dle-news.ru/?do=search а с index.php?name=search вернется главная страница 2 часа назад, yponec сказал: Средствами htaccess ничего нельзя придумать? уже сделали Необходимо на стороне сервера (nginx или apache) настроить фильтр по заголовкам User-Agent . За этим вам будет проще обратиться к хостеру. Цитата Ссылка на сообщение Поделиться на других сайтах
INFORMLINE 15 Опубликовано: 26 декабря 2018 Рассказать Опубликовано: 26 декабря 2018 (изменено) 12 минут назад, MSK сказал: index.php?name=search вернется главная страница уже сделали Необходимо на стороне сервера (nginx или apache) настроить фильтр по заголовкам User-Agent . За этим вам будет проще обратиться к хостеру. Можно просто так : ## Бан User-Agent SetEnvIfNoCase User-Agent "^python-requests/2.19.1" bad_bot SetEnvIfNoCase User-Agent "^python-requests/2.12.4" bad_bot SetEnvIfNoCase User-Agent "^Еще Агент" bad_bot SetEnvIfNoCase User-Agent "^Еще Агент" bad_bot <limit get="" post="" head=""> Order Allow,Deny Allow from all Deny from env=bad_bot </limit> Вместо "Еще Агент" пишите названия User-Agent которого нужно блокирнуть. Изменено 26 декабря 2018 пользователем INFORMLINE Цитата Ссылка на сообщение Поделиться на других сайтах
yponec 1 Опубликовано: 26 декабря 2018 Рассказать Опубликовано: 26 декабря 2018 Автор 2 часа назад, INFORMLINE сказал: ## Бан User-Agent SetEnvIfNoCase User-Agent "^python-requests/2.19.1" bad_bot SetEnvIfNoCase User-Agent "^python-requests/2.12.4" bad_bot SetEnvIfNoCase User-Agent "^Еще Агент" bad_bot SetEnvIfNoCase User-Agent "^Еще Агент" bad_bot <limit get="" post="" head=""> Order Allow,Deny Allow from all Deny from env=bad_bot </limit> Пробовал - не работает. Видать хостер как то сервак не так настроил. Отписал ему с этим примером - посмотрю что ответит. Цитата Ссылка на сообщение Поделиться на других сайтах
yponec 1 Опубликовано: 27 декабря 2018 Рассказать Опубликовано: 27 декабря 2018 Автор Хостер прислал рабочий вариант. Хостинг от Кемел. рабочий вариант для кемела SetEnvIfNoCase user-Agent "python-requests/2.19.1" bad_bot SetEnvIfNoCase user-Agent "python-requests/2.12.4" bad_bot SetEnvIfNoCase user-Agent "SemrushBot" bad_bot <Limit GET POST HEAD> Order Allow,Deny Allow from all Deny from env=bad_bot </limit> Теперь поиск работает. Пауки доссеры получают 403. Всем спасибо. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.