- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Какой-то нехороший человек повадился грабить мой сайт. Делает он это очень активно (до 30к страниц за час) и неаккуратно (грабилка неправильно обрабатывает javascript и забивает мусором логи битых страниц), поэтому решил я с этим бороться. Диспозиция
- питерский провайдер с большим пулом адресов
- большая скорость, скорее всего ADSL или что-то типа того
- после блокировки (а иногда и сами по себе) ip меняется, т.е. ip не фиксированный
- относительно редкий и постоянный user_agent
Пока вручную добавляю в iptables ip, с которых идет грабинг. Как правильно автоматизировать этот процесс (какой алгоритм) ?
Интересно ?
Сложилось впечетление что Данное действо происходит уже продолжительное время.
Сколько же у вас на сайте страниц?
Может быть имеет место не граб. а чтото типа досса? И конечная цель не граб контента а создание повышенной нагрузки на сервер.
надо ограничнить пользователей в коэфициенте число запросов в единицу времени
на уровне апачи для этого есть модуль mod_security
на уровне iptables для этого есть модули connlimit и iplimit
один раз мне эту задачу пришлось решать и на shared хостинге - пришлось написать парсер логов на пхп и поставить его в крон
Сложилось впечетление что Данное действо происходит уже продолжительное время.
Появляется периодически. Пару дней грабит, потом неделю тишина. Впервые появился около месяца назад. Сейчас заблокировал несколько адресов, тишина.
Сколько же у вас на сайте страниц?
Год назад было около 300к, потом перестал считать.
Может быть имеет место не граб. а чтото типа досса?
Для ддоса слишком тупой алгоритм. Сегодня сервер загрузился на 45-50% (обычно в это время нагрузка ~10%), на скорости отдачи страниц посетителям это почти не повлияло. Кроме того, грабер подставляет в Referer адрес страницы, на которой была найдена ссылка.
надо ограничнить пользователей в коэфициенте число запросов в единицу времени
Ограничивать всех посетителей не хочется (сам часто открываю в фоновом режиме несколько страниц).
на уровне iptables для этого есть модули connlimit и iplimit
В iptables можно блокировать посетителей с определенного диапазона адресов и определенного user_agent?
один раз мне эту задачу пришлось решать и на shared хостинге - пришлось написать парсер логов на пхп и поставить его в крон
И что делали с этим дальше?
Вобщем-то грамотно настроенный апач с хорошим firewall должен решать такие проблемы практически прозрачно.
Для начала:
1. mod_evasive.
2. csf.
Во втором есть функция бана на основание кол-ва подключений. Скажем если больше 50 (всех статусов, в том числе и WAIT, SYN), то банится.
По user agent можно заблокировать через .htaccess:
Тот мой скрипт добавлял IP в deny список .htaccess
для блокировки доступа по ip и user_agent на уровне apache можно заюзать mod_rewrite или mod_setenvif
Можно сделать блокировку в .htaccess по комбинации критериев маска ip & user agent, причем без mod_access и mod_setenvif, так я думаю оптимально будет:
У меня такое работает, но вообще там вместо %{REMOTE_HOST} надо писать %{REMOTE_ADDR} , наверно зависит от настроек сервера.
Можно сделать блокировку в .htaccess по комбинации критериев маска ip & user agent, причем без mod_access и mod_setenvif, так я думаю оптимально будет:
Вы правы,в моем случае это самое оптимальное решение. Но возникла техническая проблема - перед Апачем у меня стоит Nginx, поэтому REMOTE_ADDR показывает локальный адрес сервера, а HTTP_X_FORWARDED_FOR и HTTP_X_REAL_IP mod_rewrite не видит. Кто-нибудь знает как обойти эту проблему?
А по-моему можно, обратите внимание на следующий метод:
Соотвественно вам надо пробовать:
RewriteCond %{HTTP:HTTP_X_FORWARDED_FOR}
или
RewriteCond %{HTTP:HTTP_X_REAL_IP}
У меня это работает, правда для других параметров.
Если что название переменных окружения можно уточнить в phpinfo.