Посещение сайта. Как отличить человека от робота.

Посещение сайта. Как отличить человека от робота.

Работодатели желают отдать сайт на раскрутку в какую то контору... поставили задачу, что нужно отличать реального пользователя от роботов которые могут заходить на страницу.
Подскажите какие нибудь идеи, как это можно реализовать.
Я могу предложить только один вариант - по http-заголовку User-Agent... который наверняка можно подделать... или не отсылать. Короче метод критики не выдерживает.
А есть ли другие варианты ?
 

Dovg

Продвинутый новичок
большинство роботов не выполняет js, можно воспользоваться этим
 

Армян

Новичок
картинка как вариант, их большинство роботов тоже не загружают

-~{}~ 26.03.09 22:17:

но самый лучший вариант, по моему, это очень и очень хитрый js-код
 

fixxxer

К.О.
Партнер клуба
по первому onMouseOver над чем угодно отправляй аякс запрос =)
 

Фанат

oncle terrible
Команда форума
Вопрос нужен более конкретный.
В общем случае - никак.

Пример более конкретного вопроса. В гостевую мне спамят роботы. При этом я спам отсекаю. То есть, формально я отличаю роботов от людей. Но задача такая передо мной не стоит. И ее решение не подойдет для других целей. Но для них подойдут другие решения. Но для этого цели надо знать.
 

antson

Новичок
Партнер клуба
Вася Патриков
с появлением ботнетов (порождеными вирусами), задача
отличить обычного пользователя стала намного сложнее.

На зараженном компе гораздо легче эмулировать факт
присутвия , чем по куцой информации запросов к серверу
определить, что это именно человек.
 

fixxxer

К.О.
Партнер клуба
*****
ему надо отличать реальных посетителей от накруток счетчика (ботами, ифреймами, попапами и пр.).

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

Alexandre

PHPПенсионер
у меня проверяется наличие роботов выполнением js
используется комбинация onMouseDown + onFocus и в url добавляется некая соль, которая анализируется впоследствии на ее соленость (подлинность)
если соли нет - значить потенциальный робот
 

Армян

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

Alexandre

PHPПенсионер
Мне вообще пока идея с картинкой понравилась
боты могут парсить контент и вытягивать все картинки или картинки с расширениями *.php или любыми не картиночными ( jpg gif php)
А что за хитрый js-код ? Что он должен делать ?
при onFocus - добавляется в урл некий хитрый код
при onMouseDown - отправляется на твой счетчик - а потом редиректится куда нужно (по адресу урла)
 
Alexandre
А что за манёвры то с onFocus и onMouseDown ?
Типа надо повесить на страницу обработчик событий на хоть какое то разумное действие юзера (в случае с onMouseDown - это клик где нибудь в теле страницы) и обрабатывать его (ajax запрос на мой счётчик). Так ? Тогда не проще ли в <body> onload вставить ? И что за хитрый код то в урле ? )) Тогда все ссылки на странице станут уродливыми ?
 

Армян

Новичок
onload бот может выполнить сразу, а до onmousedown врядли догадается :)

хитрый код надо не в каждой ссылке, а в одной только, которая будет аяксом отправлятся

-~{}~ 27.03.09 20:01:

а вообще за метод Alexandre'у ++ :)
 
а эт щас в порядке вещей, что боты JavaScript интерпретируют ?

-~{}~ 27.03.09 17:24:

и что за "хитрая" то ссылка. В ней типа должен быть какой либо параметр, значение которого у меня уже известно на серверной стороне и их надо сравнить (пришедший и сохранённый) ?
 

fixxxer

К.О.
Партнер клуба
да если возьмутся накручивать именно твой сайт, то полюбому повторят любой алгоритм.

тут надо исходить из того, что те, кто занимается разводом ("сео для лохов"), не имеют достаточной квалификации, и их методы сводятся к расстановке ифреймов 1х1 и подобным. человеку достаточной квалификации такой фигней страдать просто впадлу.
 

Армян

Новичок
ну если бот для накрутки посещаемости, то скорее всего он будет уметь жс интерпретировать. Так что не стоит парится, и вообще по-моему проще найти проверенную СЕО-контору :)
 

Alexandre

PHPПенсионер
а вообще за метод Alexandre'у ++
ни я придумал)

И что за хитрый код то в урле ? )) Тогда все ссылки на странице станут уродливыми ?
в том-то и дело - что нет
:)
сама ссылка нормальная http://site.ru/path/path2

он фокус - к ссылке прикрепляем некий хеш http://site.ru/path/path2/abra_kadabra?yes=1

он даун - отправляемся по ссылке http://site.ru/path/path2/abra_kadabra?yes=1

так как у нас все запросы завертываются на index.php то анализируем урл
если есть $_GET[yes] и например abra_kadabra соответствует первым шести символам от md5(site.ru/path/path2) - то значить это нормальный урл (белый) - иначе урл - серый
ну - черные урлы - это у которых в заголовках явно прописаны боты
 

nerezus

Вселенский отказник
картинка как вариант, их большинство роботов тоже не загружают
Уже загружают и разгадывают.
Имхо нормально написанного робота НИКАК не отличить. 2009 год же уже ;)
 
Сверху