Имя: Пароль:
IT
Веб-мастеринг
Как определить, что по скрипту зашел робот?
0 megabax
 
24.12.12
22:05
Добрый день.
Подскжаите плз, как надежно определить, что по скрипту зашел робот а не бразузер?
Я попробовал $_SERVER['HTTP_USER_AGENT']
При заходе бразуера выдало Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; MRSPUTNIK 2, 4, 0, 271; MRA 8.0 (build 5977); InfoPath.1; WebMoney Advisor; .NET4.0C; .NET4.0E)
и вопрос вот в чем, а можно ли это как то подделать? тоесть зайти в скрип какой то прогой, написаной, например на C# или каком то другом языке и так ка будто это браузер? Что бы 'HTTP_USER_AGENT' выдавал именно чтото вроде Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; MRSPUTNIK 2, 4, 0, 271; MRA 8.0 (build 5977); InfoPath.1; WebMoney Advisor; .NET4.0C; .NET4.0E)
?
1 Stim
 
24.12.12
22:06
яваспирт?
2 Академик_
Келдыш
 
24.12.12
22:09
Можно.
3 Doomer
 
24.12.12
22:10
Wir laden unsere Batterie
Jetzt sind wir voller EnergieWir sind die Roboter
Ja tvoi sluga (=I'm your slave)
Ja tvoi Rabotnik robotnik (=I'm your worker)
Wir funktionieren automatik
Jetzt wollen wir tanzen mechanik
Wir sind die Roboter
Wir sind auf Alles programmiert
Und was du willst wird ausgef?hrt
4 megabax
 
24.12.12
22:14
1, нет, PHP скрипт
2, а как защититься от такой подделки?
вообще, есть ли какая то медика определия робота?
Кроме как $_SERVER['HTTP_USER_AGENT']?
Использования таймаута (нужно защитить статистику посещний от накрутки)? Или может есть способ лучше?
5 Steel_Wheel
 
24.12.12
22:15
(0) Сунь капчу на страницу. Решит -- значит, браузер. Не решит -- бот
6 megabax
 
24.12.12
22:25
5, к сожалению не всегда можно поставить капчу.
Я понимаю когда регситрация или что то подобное, тут ршается именно капчей.
А тут дело в том, что нужно счиать сколько челов зашли по партнерской ссылке. Как то не айс будет, если юзверь заходит по партнерской ссылке, а там капча.
7 Stim
 
24.12.12
22:29
яваскрипт же! банально - отследить движение мыши на странице
8 Партизан
 
24.12.12
22:36
(0) спросить номер телефона - все стандартно же и придумано до вас ))
9 Партизан
 
24.12.12
22:37
(7) а если нет мыши и заходит с клавиатуры?
10 kokamoonga
 
24.12.12
22:44
(0) абсолютно надежных способов нет
11 Stim
 
24.12.12
22:47
(9) один из миллиона
12 kokamoonga
 
24.12.12
22:50
(11) миллионы пользователей айпадов и андроид-планшетов смотрят на тебя с осуждением
13 MaxS
 
24.12.12
22:51
Открыть картинку с текстом пропустить рекламу? и кнопку в произвольном месте.
14 Партизан
 
24.12.12
22:53
в скрипте получать системное время и посылать на сервер каждую секунду
15 Vovik
 
24.12.12
22:53
(0)Задача какая?
Тупо по ип. Основные роботы известны. Яндекс, гугл и т.п.
16 Партизан
 
24.12.12
22:55
(15) наверное защита от накруток
17 kokamoonga
 
24.12.12
22:55
(15) Яндекс и гугл к слову своих роботов и не прячут. Подозреваю что их ТС как раз не хотел бы фильтровать
18 Asmody
 
24.12.12
23:56
бот может легко менять юзерагенты, заходить из-под анонимных прокси и т.д. есть только один надежный вариант: анализировать поведение робота и опонять, чем оно отличается от обычного пользователя. например, робот скачивает страницу, но не скачивает ресурсы, а браузер скачивает и то, и другое. но возможны варианты, когда обычный пользователь ведет себя так-же, например, при работе через кеширующий прокси.
можно проанализировать статистику запросов, частоту, интенсивность. Действия обычного пользователя относительно случайны, а бот — это программа.
19 megabax
 
25.12.12
08:50
18, если я правильно понял, что нужно установить какое то время, например 30 сек, что бы юзер побыл на старнице и только тогда этот переход засчитывается. И плюс еще анализировать что делал юзер на старнице эти 30 сек. Что бы отличить его от робота, как то так, да?
20 Serg_1960
 
25.12.12
09:04
Надо подсунуть капчу и так, чтобы не обидно было? :)
А совет уже был - заставка с кнопкой, случайно расположенной и автозакрытием через 15-30 сек.

(офф) На заставке-приветствии можно вежливо поздороваться или поздравить с наступающим праздником. Можно случайно выбранное мудрое изречение показать юзверу. Но не стоит радостно сообщать что юзвер - миллионный пользователь и его ждет огромадный приз по ссылке :)
21 vde69
 
25.12.12
09:09
22 vde69
 
25.12.12
09:17
(20) если бот специально затачивается под этот сайт - то обходится как 2 пальца...

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

мои мысли по сабжу
есть 3 варианта к защите
1. "креатив" - защита которой ни у кого нет, и поэтому все типовые боты будут на ней затыкатся, но заточеный бот будет проходить влехкую
2. "определение человека" - (капча то-же сюда относится), существует много вариантов, вплодь до требования отпечатка пальца :),
3. "по статистике" - на основании статистики выделение определенных признаков. (так например работают анти ддос)
23 1Сергей
 
25.12.12
09:20
(21) афигеть. Вот где срачи покруче мистовских :)
24 aka AMIGO
 
25.12.12
09:21
"используйте пикчу" © не знаю, где взял :)
25 aka AMIGO
 
25.12.12
09:22
+24 а также капчу :) оттуда-же :)
26 Serg_1960
 
25.12.12
09:24
(22) Вообще-то я и имел в виду заставку-картинку, на которой "нарисована" кнопка. Т.е. самой кнопки нет - есть область куда надо "тыкнуть".
27 Stim
 
25.12.12
09:24
(22) кстати, да. отключенный яваскрипт - и заставки не покажутся
28 Serg_1960
 
25.12.12
09:27
Не покажется - нет клика - нет перехода - все свободны - выход :)
29 vde69
 
25.12.12
09:31
(28) в сабже защита от накрутки СТАТИСТИКИ,

статистика апает от посещение страницы, а открывали ее или нет - пофиг, счетчик идет на логи!

по этому картинка - может закрыть только динамические страницы, а на них счетчики вроде как не ставятся (хотя ставятся но там какие-то заморочки есть)
30 Steel_Wheel
 
25.12.12
11:35
А если я отключу в браузере яваскрипт? Или браузер просто его не умеет использовать? Или у браузера какая-то собственная реализация?
Закон Брукера: Даже маленькая практика стоит большой теории.