Обнаружение доступа к вашему сайту роботом - PullRequest
3 голосов
/ 15 февраля 2010

У меня есть некоторый код геотаргетинга, который я хочу вести себя особым образом, если сайт заражен роботом, например, Google и т. Д.

Есть ли способ сделать это?

Ответы [ 4 ]

5 голосов
/ 15 февраля 2010

Представление различного контента сканерам и посетителям поисковых систем - так называемое клоакинг - является рискованным делом и может быть наказано поисковой системой в случае обнаружения.

Тем не менее, проверьте этот ответ SO с несколькими ссылками на хорошо поддерживаемые "списки ботов". Вам придется проанализировать строку USER_AGENT и сравнить ее с таким списком ботов.

2 голосов
/ 15 февраля 2010

Вы можете сделать это, проверив агента пользователя или IP-адрес. может предпочтительнее использовать последнее, поскольку другие, менее уважаемые боты, не знают, чтобы обмануть пользовательский агент больших парней. Даже для Google и др. Их IP-адреса, как правило, находятся в узких диапазонах, поэтому обнаружение по IP-адресу не должно требовать составления обширных списков.

1 голос
/ 17 февраля 2010

Если вы заинтересованы только в хорошо настроенных авторитетных ботах, например Google, Yahoo, MSN / Live / Bing / все, что сегодня, спросите и т. Д., Затем вы можете использовать проверку DNS в обе стороны.

1) Проверка известного пользовательского агента (ищите известную подстроку, такую ​​как googlebot)
например Mozilla / 5.0 (совместимо; Googlebot / 2.1; + http://www.google.com/bot.html

2) Сделайте обратный DNS для запрашивающего IP и проверьте, что он приходит из разумного домена.
например rdns из 66.249.71.202 - crawl-66-249-71-202.googlebot.com (так счастлив, что он исходит от googlebot.com)

3) Сам по себе шаг 2 может быть подделан, поэтому теперь проверьте днс записи A для результата, возвращенного на шаге 2, и убедитесь, что у вас есть исходный запрашивающий IP.
например днс для выше это
crawl-66-249-71-202.googlebot.com. A 66.249.71.202

66.249.71.202 был запрашивающий IP-адрес, так что это действительный робот Google.

1 голос
/ 15 февраля 2010

Вы можете проверить это с помощью свойства user-agent. Для получения дополнительной информации о строках агента пользователя проверьте здесь: http://www.user -agents.org / Отметьте записи с типом "R = Robot, crawler, spider". Если это не гарантировано, свойство user-agent может быть изменено несколькими факторами, и это не на 100% надежно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...