Обнаружить среди посетителей сайта автоматический парсер

Собс-но, столкнулся с такой проблемой — среди посетителей сайта завёлся некий бот, который парсит все данные с форума и размещает их на стороннем ресурсе, выдавая за свои. Это достаточно неприятно :/

Ресурс этот конечно пока что вообще никак не раскручен, но как я понял, моим сайтом хотят воспользоваться для его наполнения контентом с целью дальнейшей монетизации.

Подскажите, каким образом можно выловить подобные штуки? Может, есть какой-то анализатор для Apache или nginx?
Как вообще лучше действовать в этой ситуации?
  • Вопрос задан
  • 11622 просмотра
Пригласить эксперта
Ответы на вопрос 9
@lubezniy
Попробую предложить, возможно, глуповатый, но вариант. Суть — динамически добавлять в посты некие временные метки (можно в style=«display: none»), по которым можно определить дату и время обращения, и вести полные логи (access.log). Это позволит сформулировать требования к администрации сайта (материал создан тогда-то, спёрли тогда-то, разместили тогда-то) и изучить сколь-нибудь постоянные и достоверные признаки бота. Если администрация сайта проигнорирует обращение, а хостинг далеко и не хочет выполнять команды из другой страны, то после изучения технической части можно, например, попытаться подсунуть им (и только им!) запрещённого контенту, а после его автостыривания обратиться в Роскомнадзор — мол, нарушают.
Ответ написан
Комментировать
Wott
@Wott
Можно обойти любую фильтрацию, но есть некоторые признаки, которые могут отсеять явных ботов
1. переменные окружения — почему-то ленятся скопировать результат запроса типичного браузера
2. скорость клика — боты либо быстрые, либо регулярные. Делаете порог для html запросов в минуту или считаете вариативность задержек между запросами.
3. скачивание/нескачивание контента — обычный браузер качает картинки, css и прочее, но тут есть тонкости — например некоторые браузеры стали оптимизировать и не запрашивают невидимый контент. Но явно нужный css например хороший триггер для человека
4. Прокликивание ссылок — делаете ссылку со страницы, которую пользователь не может нажать и готовый триггер для бота. Для надежности делаете рандомные место, класс и параметры ссылки
5. Javascript — большинство ботов его не выполняет, но есть и пользователи без него. Делаете по загрузке страницы запрос на css, например, что будет условным триггером для человека.

В общем делаете фильтр, который проверяет кучу признаков и по сумме решает что это бот — дальше либо в сессии, если есть такие, выдаете ему всякую фигнгю, либо рубите. Если нет сессий, то создавайте правило в iptables/pf/ipfw что у вас там для данного ip на час-два-сутки.

Надо сказать пару слов о нужных ботах — спайдеров поисковых машин, можно предварительно отфильтровать ip адреса по user-agent, но есть вероятность что под них маскируются ненужные боты. Так что их надо модерировать, прежде чем заносить в белый список.
Ответ написан
Комментировать
EugeneOZ
@EugeneOZ
Мурашки пробегают от советов, которые Вам дают, только пара человек сказали о возможном эффекте на поисковики. В SEO столько денег вкладывается — не закрывайте доступы и не усложняйте способ выдачи контента, это не понравится ни юзерам, ни поисковикам.
Обидно, конечно, что те придурки так копируют, но любое усложнение человек обойдёт — и картинку быстро начнёт дёргать, и скопирует поведение выполнения JS. А вот юзерам это всё — лишние запросы к серверу, замедление окончания рендеринга, случайные блокировки. А проблемы с поисковиками могут быть гораздо заметнее, чем обида на какой-то сайт.
Ответ написан
Комментировать
SLY_G
@SLY_G
журналист, переводчик, программист, стартапщик
Если уж заморачиваться, наверно можно встроить в форум ограничение на количество просматриваемых тем одним пользователем, например…
Но по большому счёту — что в интернет попало, то всем принадлежит. Давно уже усвоил, и вам советую — ценность ресурса не в уникальности, а в том, что именно на нём что-то появляется в первую очередь. С того же Хабра вполне можно натырить статей и сделать другой сайт — а толку?
Ответ написан
@isden
А по UA/IP отлавливать если? На уровне движка сайта/.htaccess.
Ответ написан
Комментировать
@bondbig
Тут вопрос в целесообразности.
Ну удастся найти бота по поведению (например, запрашивает станицы слишком часто), что с ним делать дальше? Банить? Гиблое дело. Ботовод сменит айпишник и тактику.
По возможности, расставляй ненавязчивый копирайт на картинки и прочее, но это тоже полумера, да еще и не очень нравится пользователям.
Ответ написан
foxmuldercp
@foxmuldercp
Системный администратор, программист, фотограф
Скрипт для обмана Вас пишется очень быстро и просто — навсклидку:
1) тот же тор или еще какие прокси серверы для эмуляций подключений откуда попало;
2) закос под поисковых ботов — Вы врядли будете по айпишнику проверять, откуда пришел данный юзер — к примеру, портал Ukr.net некогда был ISP, и например, своим dialup юзерам выдавался блок IP, по которому только имея логи, можно было отследить что это не поисковый краулер, а конечній юзер.
3) Ну а смена версии ос, названия браузера в клиенте — минутное дело.

Проще, как говорилось выше — обратиться к администрации сайта.
Ответ написан
demimurych
@demimurych
Страшно любопытно посмотреть на сайт
Ответ написан
KorP
@KorP
Кратко о себе
Ну можно попробовать заюзать ddos-guard.net. cURL не умеет эмулировать работу JS, так что это очень простой способ обломать парсер, а переписывать его уже не чём то более серьёзном — дело неблагодарное.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы