Как стать автором
Обновить

Комментарии 35

НЛО прилетело и опубликовало эту надпись здесь
>Один — на серверной стороне (в этом есть какой-то смысл). Анализ заголовков. Смешно, даже останавливаться не буду.
А что еще Вы предлагаете анализировать на сервере? (не думаю что на tcp уровне он будет отличаться от обычного броузера)

>Пришел запрос, сервер на него ответил и отдал все, что от него просили. Всё, данные получены, в полном обьеме — теперь их «хозяин» тот, кто их запросил и получил — что хочет с ними, то и делает.

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

А вообще конечно идем на https://github.com/ariya/phantomjs/issues и выбираем подходящие для детекта.
НЛО прилетело и опубликовало эту надпись здесь
не думаю что на tcp уровне он будет отличаться от обычного броузера

Из TCP можно узнать операционную систему и сверять её с user agent.

Не понимаю как это может мне помешать открыть следующий линк и так дальше. Все что происходит на клиентской стороне можно отловить и хакнуть.
P/s если не хотите что бы вас нещадно скрапили, сделайте фид и забудьте о подобных проблемах. Ибо если его нет вас все равно будут скрапить.
ну так грабят не одну страничку с сайта а раздел или весь сайт. Определив парсер можно временно забанить ip, что уже делает стоимость парсинга выше.

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

А смысл? Никак не можете примириться с тем, что отдавая данные клиенту вы отдаете их ему и уже он властен над ними? Не понятна ситуация, при которой вы потратите кучу сил и проверок на то, чтобы сохранить данные от хакера, когда чувак с расширением на хроме или 10 китайцев так же распарсят ваш сайт.
Или это будет целая серия :D
"Определяем китайцев", "определяем юзер-скрипты", "определяем что пользователь не запомнил данные после посещения сайта", "вставляем ватермарки в body"?

selenium вы не определите так просто.
А есть ли смысл бороться именно с phantom? Ведь ботов можно написать на чем угодно.
НЛО прилетело и опубликовало эту надпись здесь
Иногда, есть. Пример — браузерные игры, где прокачка персонажей ботами убивает у других игроков интерес к игре.
НЛО прилетело и опубликовало эту надпись здесь
Тут, кстати, самыми проблемными являются не js боты, а те, которые тупо кликают мышью по окну честно открытого браузера, ориентируясь по заранее записанным фрагментам картинки.
можно, пожалуйста, подробней?
С яваскриптовыми ботами можно как-то бороться. А вот таких отличить от человека вообще не получается. Там при записи сценария ты показываешь прямоугольную область экрана и координаты клика отсчитываются от неё. Когда скрипт запускается он повторяет такой клик (ему еще можно сказать слегка рандомизировать клики — прибавлять маленькое случайное число к обоим координатам). Если скрипт не находит на экране заданную область, он просто перестает работать и сообщает о проблеме.
Ловить таких очень дорого и сложно.
Я в своё время пользовался sikuli для автоматизации игрового процесса. А что рекомендуют использовать в современных реалиях?
Вот не знаю. Я как раз занимался борьбой с такими ботами :)
У меня самоделка на ардуине+серва, жмет клавиши для автоматизации игрового процесса. Работает под любой ОС, и даже с теми играми где защита от мышиных кликеров (в т.ч. игровых мышей и клавиатур) и ввод от winapi игнорируется и принимается только, как я предполагаю, через DirectInput.
Благодаря механике, и таймеру с рандомным смещением выглядит 100% натурально. За исключением, разве что, что жмякает по клавиатуре сутками напролет.
Еще не забанили :)
внедрение бота в код игры(ingame, autoit), или вовсе без игры (OOG — out of game, c++,c#,delphi), но все эти боты ломаются при обновлениях игры или ее упаковке, поэтому интересуют конкретные инструменты, как вы уже выше сказали «ява+скрипты», при которых можно научить бота распознавать определенные формы. и да:
Ловить таких очень дорого и сложно.
Страниц может быть 10 млн. Тогда можно остановить краулинг уже на первом десятке.
НЛО прилетело и опубликовало эту надпись здесь

Одной из целей определения бота может быть известный в узких кругах клоакинг. Когда боту поисковой системы не показывается агрессивная реклама, за которую поисковики понижают в поиске. У поисковых систем есть специальные боты для клоакинг-детекта, которые максимально маскируются под человека, поэтому проверка по юзер-агенту здесь не поможет. А вот комплекс специфических технических уловок — вполне.

Меня удивляет, почему автор поста считает, что в браузере должен быть включён джаваскрипт. Стандарты HTML этого не требуют, и я как пользователь с ними солидарен. Отключаю везде, где только можно. Если запрещают смотреть без них, выкачиваю страницу тем самым phantom.js
А вы терпеливый.
Слава богам, гугл ещё не разучился работать без javascript, и опцию saved copy всё ещё предоставляет.
Помимо, действительно глючного PhantomJS, есть ещё CEF. Chromium Embedded Framework. Вот где благодать.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
P.S. Я встречал всего одно бота, с которым пришлось реально бороться — злобный WebIndex.
Именно сразу, никаких таймаутов между запросами. Бомбилка еще та была.

а что сложного? либо iptables:
-A INPUT -i venet0:0 -p tcp -m tcp -m multiport --dports 80,443 -m state --state NEW -m recent --update --seconds 60 --hitcount 10 -m comment --comment "nginx drop hits" -j DROP
-A INPUT -p tcp -m tcp -m multiport --dports 80,443 -m state --state NEW -m comment --comment "nginx" -j ACCEPT


либо использовать модуль nginx ngx_http_limit_conn_module
НЛО прилетело и опубликовало эту надпись здесь
Да отлично работает с такими сайтами webdriver api и firefox/chrome
НЛО прилетело и опубликовало эту надпись здесь
Да, в переводе есть примечание о том что кастомная сборка фантома обойдет все известные сборщику методы детекта.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории