Задать вопрос
alexanderkx
@alexanderkx

Что делать с парсерами, которые долбят сайт?

Таки столкнулся с жёстким парсингом своего сайта (или чем-то другим).

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

Сделал таким образом:
На кнопке есть data-url="/id/145", и соответственно при клике js-ом подгружаю результат обращения к этой странице.

Статистика показывала, что нажимали примерно раз в 20-15 минут. Что вполне пропорционально посещаемости. Сегодня увидел жуткую картину - в минуту по 5-10 обращений с разных ip (штук 15-20 чередуются).

Ладно думаю. Скорей всего тупо взяли site.com/id/145/ и меняют id-шку. Сделал небольшую проверку. При заходе на сайт генерируется некий хэш и при обращении к /id/ проверяется нажал ли пользователь на кнопку, или напрямую перешёл на /id/145/. Но ничего не поменялось :( Стало быть каким-то образом происходит имитация нажатия на кнопку.

Что можно сделать? ) Инфы то не жалко, просто засоряют жутко реальную статистику.. Да и не хорошо как-то получается.
Благодарю.
  • Вопрос задан
  • 644 просмотра
Подписаться 3 Оценить 7 комментариев
Решения вопроса 1
Rou1997
@Rou1997
HTTP-заголовки смотрите, по ним и по JS определите, действительно ли браузер или все-таки 'raw HTTP", если первое, то защита на фронт-енде должна быть, если второе, то на бек-енде, суть защиты - вносить изменения, которые не способен обработать парсер, но, грубо говоря, если очень захотят, то хоть каждый день будут "чинить" своего бота, оставили бы вы их в покое.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@vshvydky
ребят вы фигню ему советуете все. я как человек, который порой парсит знаю, нет нормального пути защиты, ну нет и все тут.
Из рекомендаций:
1. всякие рекаптча , каптча и тп можете не включать, будете раздражать реальных пользователей, а 5 -10 копеек и бот вашу каптчу, рекаптчу разгадает. Не работает эта защита.
2. Если вы видите бота, который по всем признакам браузер, возрадуйтесь и покажите ему рекламу. Будете на этом зарабатывать.
3. Все парсеры привязаны к цсс селекторам и выдергивают данные из них, вы можете строить такие селекторы динамически, максимально их видоизменяя. Возможно это будет напрягать ваших обидчиков.
4. Вы можете лимитировать отдачу для пользователя Н раз в / минуту / час / 2 часа / сутки , далее составлять блоклист и в бан.
5. Вы можете пройти по всем бюджетным прокси сайтам, и там где дешево купить себе адреса проксей, получить их списки и сразу их внести в бан. Чаще всего парсят с говнопроксей.
6. Подкрутить днс бл к адресам.
7. Проверять не ведут ли клиентские адреса на хостинги датацентров, где впс, вдс стоят. Чаще всего прокси продают именно с диапазонов хостинг провайдеров, а значит их легко вычислить.
8. Возможно самый полезный инструмент ,введите фингерпринт в токены к своей регистрации / авторизации. В результате даже если используются разные прокси адреса, отпечаток фингерпринта будет совподать. А далее слишком много запросов, 1 и тот же фингерпринт, адреса чередуются, роутятся на хостинги, прямой путь в блек лист.
9. Боремся с любителями курла: я понимаю, это еще тот геморой, так как почти все шаманства можно разгадать и впулить как пост запрос, но все же, как бы я это делал: токен на минимальную сессию, 10 - 15 минут, в токене фингерпринт, и чтобы получить токен надо сперва пройти ритуал js монитринга в браузере, если этого не случилсь, токен не выдавать. Какие бывают мониторинги, фингерпринт по наложению эффектов на свг изображение, далее съем мд5 отпечатка, сбор информации о установленных шрифтах, сбор данных от навигатора о плагинах и миме типах. проверка соответствия юзерагента поведению браузера. и что еще больше испортит жизнь ботопарсеру, это чтобы ссылки для него менялись каждый раз как и токен. Гемороя много, но думаю после этого вас парсить не захотят.
Но я за то , чтобы отдать боту то, что он найдет если не у вас, то у вашего конкурента, но вы ему впулите много много рекламы.
Удачи.
UPD:
Подцепляешь сокеты и следишь за пользовательским поведением, изменение курсора мыши, пробег мыши на сайте, скроллинги, клики и тп, если кликается, то в это время позиция курсора внутри элемента или нет?

есть еще один момент, который может помочь, но я не скажу, я его сам боюсь ))))
Ответ написан
Комментировать
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
Если заморочится и добавить возможность сторонним сервисам запрашивать данные по rest и повесить на сайте к этому доку, нагрузка от парсеров снижается
Ответ написан
Комментировать
@PooH63
Как вариант cookie + csrf. Пока не сверятся ключи, не вызывать эвент отвечающий за статистику
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
Wanted. Москва
от 250 000 до 400 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
22 янв. 2025, в 04:08
6000 руб./за проект
21 янв. 2025, в 23:55
20000 руб./за проект
21 янв. 2025, в 23:35
80000 руб./за проект