| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Самый хитрый скрипт - браузер или бот? |
| Автор: Analitik 16.1.2007, 13:21 | ||
| Здравствуйте. Мне необходим скрипт умеющий со 100% точностью распозновать, вернее даже отличать браузеры (пользователей сайта) от поисковых ботов. Естественно не по UserAgent! Предполагаю необходимо смотреть список всех свойств объектов в DOM и использовать то, что может сделать ТОЛЬКО браузер. В сети нашел вот такой пример скрипта: Для выполнения скрипта требуются функциями форматирования и обработки блоков HTML страницы, подобныме браузерным. Большинство ботов поисковых систем такими свойствами (к слову, совершенно лишними для робота индексатора) не обладают, но не все!
В принципе это нечто похожее на то, что мне нужно, но не совсем. Необходим скрипт который не при каких условиях не пропустит поискового бота на сайт, даже если этот бот будет "полностью" имитировать браузер. Вопросы: 1. Что умеют делать только браузеры и что может использоваться для моего скрипта? 2. Если не жалко, пример реализации? 3. Ваши предложения... |
| Автор: Analitik 16.1.2007, 13:32 | ||||||
Хотелось бы конструктивных предложений.
Это меня и интересует, наверняка есть то чего бот симитировать не сможет. Дополнено:
Robots.txt - реально это скорее рекомендация для ботов, а не запрет! И смысл не в жестком и безотказном запрете, а в 100% верном отличии обычного пользователя от бота имитирующего пользователя! |
| Автор: 12345c 16.1.2007, 16:01 |
| Если Вы не специалист, то какой смысл задавать вопросы, которые может оценить только специалист? Если Вы организатор, желающий нанять специалистов для реализации идеи - так и скажите, что нужна предварительная консультация, на которой (в этой теме) всё равно глубокий анализ не сделают, потому что не велика вероятность, что здесь попадётся человек, писавший боты (это вероятнее в Си или Джава). Вот когда напустите сюда специалиста, он гораздо лучше будет представлять, какие вопросы задавать. А пока встречные вопросы: 1. Вы знаете случаи писания ботов, работающих через браузерный движок? 2. Для каких задач очень важно подстраиваться под человека и насколько важно противостоять? 3. Будут ли эти боты запускать движок с использованием графического интерфейса для полной идентичности поведения? Когда скажете, какие существуют боты этой специфической категории, тогда можно подумать, как им противостоять. А то начнём тут глубочайшие теории разводить, а окажется, что они того не стоят. |
| Автор: Analitik 16.1.2007, 16:30 | ||||||
Знаю случаи исполнения js скриптов поисковыми ботами.
Задач у них много - клоакинг, дорвеи... Противостоять слово не совсем верное, вернее - определять, бот или человек.
Вряд ли... |
| Автор: Sardar 16.1.2007, 16:30 | ||
| Большинство ботов вообще не разбирают JS, т.к. индексировать приходиться просто огромные обьёмы текста и тут уж не до заморочек. Кстати именно по этому боты (пока) не умеют индексировать флешки и менюшки сгенерированные на клиенте. Если плевать на людей не имеющих JS и на свой рейтинг в поисковых, то можно ссылки генерить с onclick="specialLink(this.href)", где:
Редкий бот догадаеться что это. Редкий юзер с отключенным JS поймёт зачем это было нужно |
| Автор: Analitik 16.1.2007, 16:45 | ||||
Это можно
А вот этого делать нельзя. |
| Автор: Sardar 16.1.2007, 17:27 |
| Analitik, спасибо за http://www.seoweblog.ru/about/ Если верить статье, то современные кравлеры падают только на "отрисовке" страниц. Чем код из первого поста тебе не подходит я не понял. Бот который полностью иммитирует браузер (т.е. владеет отрисовкой, XMLHttpRequest и прочее) является браузером по определению. Взглядом со стороны сей танец я не понял. Все поисковые боты объявляют себя по UserAgent'у, что бы продвинутые движки могли отдавать облегчённые страницы. Другие боты, что контент твой воруют лишь повышают твой рейтинг если ссылки на тебя оставляют (цитируемость), если и ссылки меняют, то забей на них, это не больше чем пыль под ногами |
| Автор: 12345c 16.1.2007, 17:51 |
| Sardar, А нужно это для клоакинга всех мастей Ты знаешь, буквально в последние 2 месяца появилась в логах сайта масса браузеров, которая ведёт себя как бот, но имеет юзер-агента, как у Мозиллы Firefox. И ведь как бота их не отметишь. Если, по статье, поисковики стали использовать хитрых ботов в последние месяцы, то это вполне может быть скрытый поисковик. Такие боты им нужны, чтобы обнаруживать клоакинг, сравнивая показания "честных" ботов и "хитрых". |
| Автор: Analitik 16.1.2007, 20:19 | ||||||||
Код из первого поста подходит для гугла, но не для яши.
Вот потому то я и обратился за помощью к специалистам (к вам), знал бы я все тонкости работы IE и js - не было б вопросов, сам бы все написал!
Добавить нечего, ответ изчерпывающий. Хотя чуть поправлю, не последние 2 месяца, а гораздо раньше (для российского поиска), просто при хорошей посещаемости выявить подобных (хитрых) ботов в логах просто не возможно, на то они и хитрые, чтоб их видно не было (в логах в первую очередь)! |
| Автор: S.A.P. 17.1.2007, 18:47 |
| Если что - то с нечеловеческой скоростью запрашивает различные страницы, то возможно это бот и ловить его надо на сервере, а не с помощью JS. Однако скачивая сайт с помощью scrapbook под Мозиллой, я веду себя как бот, хоть и не бот вовсе |
| Автор: 12345c 17.1.2007, 19:39 |
| S.A.P., хитрые боты могут вести себя как люди - их цель - не обойти сайт, а выявить клоакинг. Поэтому посетят (по наводке) главную страницу, и им этого достаточно. Если недостаточно, то медленно (куда спешить, если на сервере будет 20-50 окон Мозиллы с другими заданиями?) будут переходить по ссылкам, обойдя самые близкие. (Мозилла - потому что код открытый и под свои нужды настроить легко.) |
| Автор: OZetus 22.1.2007, 18:13 |
| В принципе, я думаю, тема актуальна. Допустим, есть сайт на Аджаксе (страницы подгружаются лишь частично Демка: http://cgroup2.drohobych.com.ua). Дураку ясно, что такой сайтец поисковый робот не проиндексирует. Следовательно, надо подменять контент. UserAgent, как уже было сказано выше, не очень катет. Короче, думал я, думал, что делать... Есть одна идея, но нужно еще проверить. В данной демке, ясное дело, используется джаваскипт, к тому же Куки. Кто это все отключает, всеравно ничего поюзать не сможет. Короче, идея в том, дабы проверку проводить по куки. Если их генерировать php, некотрые боты всеже могут схавать. Но если генерить их джаваскриптом, это мне кажется, может и проканать. Вот, ничего пока лучше в голову не пришло |
| Автор: Sardar 22.1.2007, 18:34 |
| Если скрипт из http://forum.vingrad.ru/topic-133197.html взять, там для генерации сигнатуры берёться очень много параметров доступных в разных браузерах. Вкупе с проверкой отрисовки контента (создать слои, замерить размеры, подвигать на абсолютной, змерить offset(Top|Left) и прочее), я даже представить не могу под какой накуркой можно создать бот, что всё это будет понимать. Другое дело что браузеры с наладонников и мобилок, а также просто экзотику можно забанить |