Как отделять поисковых ботов от людей на php ?

123
response
На сайте с 01.12.2004
Offline
324
#11
Back Door Man:
А мы еще при запросе страницы имеем о боте все данные (IP, реферер, юзер-агент, и можем их в РНР обработать), какие новые данные мы будем иметь, если выполнив сценарий бот успешно сымитировал человека?

есть группа действий, которые бот не выполняет. он все-таки не юзер, иф ю ноу вот ай мин ;)

Однопоточный парсер ключевых слов Магадан (http://magadanparser.ru) (со свистелками) Многопоточный парсер ключевых слов Солнечный (http://sunnyparser.ru) (без свистелок)
Back Door Man
На сайте с 20.08.2003
Offline
151
#12
response:
есть группа действий, которые бот не выполняет. он все-таки не юзер, иф ю ноу вот ай мин ;)

Ну тогда я и без яваскрипта обойдусь 🚬

Дмитрий
AZ
На сайте с 10.11.2007
Offline
7
#13
response:
есть группа действий, которые бот не выполняет. он все-таки не юзер, иф ю ноу вот ай мин ;)

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

Поэтому наврное нужно искать какое-нибудь другое направление...

Ярик
На сайте с 26.10.2003
Offline
121
#14
Back Door Man:
А мы еще при запросе страницы имеем о боте все данные (IP, реферер, юзер-агент, и можем их в РНР обработать), какие новые данные мы будем иметь, если выполнив сценарий бот успешно сымитировал человека?

Если пойти от обратного? Подсунуть сценарий в скрытом слое например? ;) Или вообще прописать функцию которая ниоткуда не стартуется? И вот если сработка была, можно записать данные этого умника для подробного изучения. 🚬

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

😮 неосилил...

не посылай, да и не послан будешь...
Back Door Man
На сайте с 20.08.2003
Offline
151
#15
Ярик:
Если пойти от обратного? Подсунуть сценарий в скрытом слое например? ;) Или вообще прописать функцию которая ниоткуда не стартуется? И вот если сработка была, можно записать данные этого умника для подробного изучения. 🚬

А если не выполнил, то автоматом считать его человеком? Так и ошибиться недолго, не все же боты JS выполняют.

А собирать базу IP для клоакинга я считаю тупиковым занятием: IPшники нынче дешевы, кто знает с каким он завтра придет. 🚬

Ярик
На сайте с 26.10.2003
Offline
121
#16
Back Door Man:
А если не выполнил, то автоматом считать его человеком? Так и ошибиться недолго, не все же боты JS выполняют.

Тут главное определиться кого ловить. ;) Можно нагородить всяких взаимоисключающих элементов. Вариаций много и 100% гарантии конечно не будет.

Back Door Man:
А собирать базу IP для клоакинга я считаю тупиковым занятием: IPшники нынче дешевы, кто знает с каким он завтра придет. 🚬

Согласен.

И возвращаясь к прошлому:

Не очень действенно. Судя по всему некоторые боты тупо перебирают все события JavaScript и успешно обходят и такую защиту.

А, что тогда действенно? Или все бесполезно?

Back Door Man
На сайте с 20.08.2003
Offline
151
#17
Ярик:
Тут главное определиться кого ловить. ;) Можно нагородить всяких взаимоисключающих элементов. Вариаций много и 100% гарантии конечно не будет.

ИМХО, только людей, чтоб на ботов время не тратить.

Ярик:
А, что тогда действенно? Или все бесполезно?

Ну бот не все умеет делать, что может человек. ;) Отсюда можно рыть дальше.

E
На сайте с 29.03.2007
Offline
102
#18
Newo:
т.к. у бота в его ОС наврядли есть курсор или что-то подобное

сложно больно и геморно.

ТС, читайте

response
На сайте с 01.12.2004
Offline
324
#19
AndreyZG:
Но эти действия и реакцию на них всеравно ведь нужно описать в коде дора. А если они там будут описаны, то наверное ничто не мешает научить бота выполнять код дора как браузер юзера и выполнить все возможные действия, которые описаны в коде страницы, после чего отследить реакцию на эти действия. Т.е. если есть например действие при появлении указателя над страницей, то это действие будет в каком-нибудь виде в коде страницы и ничего не мешает бота научить выполнят все действия в коде страницы и отслеживать реакцию.
Поэтому наврное нужно искать какое-нибудь другое направление...

во-первых, все действия не перебрать. во-вторых, необходимо учитывать время, затрачиваемое на проверку. и в-третьих, а нет ли таких действий, которые бот в любом случае выполнить не сможет (равно как выполнение которых будет крайне затруднительно)? :)

Back Door Man:
А если не выполнил, то автоматом считать его человеком? Так и ошибиться недолго, не все же боты JS выполняют.

не понял. я с задачей не путаюсь? если JS не выполняет, значит скрипт получит инфу, что либо это юзер, который без JS (погрешность, направляемая через баннер), либо что это бот без поддержки JS или с таковой, но спалившийся на "задании". я что-то напутал?

egorych:
сложно больно и геморно.

ТС, читайте

и что, неужели все без тормозов и проблем индексируется, все 50-100-150к страниц? с gethost запросами?

Back Door Man
На сайте с 20.08.2003
Offline
151
#20
response:
не понял. я с задачей не путаюсь? если JS не выполняет, значит скрипт получит инфу, что либо это юзер, который без JS (погрешность, направляемая через баннер), либо что это бот без поддержки JS или с таковой, но спалившийся на "задании". я что-то напутал?

Задача в том, чтобы скормить посетителю функцию, которая ниоткуда не вызывается. Выполнивший ее, будет ботом с поддержкой JS. Но всех остальных мы не можем считать людьми, потому что это может быть и человек, и бот без поддержки JS (а таких пока большинство).

Получается, что мы на выходе получим микс из людей и ботов.

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий