Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #29, АПРЕЛЬ 2003 г.

ВЕБ-ШПИОНСТВО - добываем инфу о юзере

Леха ББ aka Alexys

Спецвыпуск Xakep, номер #029, стр. 029-034-5


$maindir="../html/";

#рабочая папка

$picfile=$maindir.'p1.gif';

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

#--вывод картинки скриптом

open(AA1, $picfile);

#открытие файла

binmode(AA1);

binmode (AA1);

#это для Windows - указание на бинарность файла

@picture=<AA1>;

#считывание файла в массив @picture

close(AA1);

#закрытие файла

foreach(@picture)

{print $_;}

Если в броузере ввести адрес скрипта или открыть html-страницу, содержащую описанный выше JS-код, то ты увидишь созданную картинку. Уже полдела сделано - что-то отображается. Осталось сделать обработку и запись полученных параметров.

#--обработка и запись параметров в файл

$q=$ENV{'QUERY_STRING'};

#передаваемая скрипту строка параметров

$statfile=$maindir.'stati.txt';

#файл, куда будут кидаться все полученные данные

open(AA2, ">>$statfile");

#открытие файла для записи в конец (дозаписи)

if ($q ne "nojs")

{

$q=~s/%/ /g;

#замена знака % пробелами

$ch=$input{'ch'};

#кодировка

$ua=$input{'ua'};

#тип броузера

$v=$input{'v'};

#версия броузера

$resol=$input{'resol'};

#разрешение экрана

$os=$input{'os'};

#операционка

$isjava=$input{'isjava'};

#работает ли Java Script

$scd=$input{'scd'};

#глубина цвета, бит

$page=$input{'page'};

#адрес просматриваемой страницы

#запись через разделитель ";;" сведений о кодировке, типе броузера, его версии, разрешении экрана, операционке, наличии поддержки JS, глубины цвета и адреса просматриваемой страницы

print AA2 "$ch;;$ua;;$v;;$resol;;$os;;$isjava;;$scd;;$page;;\n";

}

else

{

print AA2 "Ничего не определено\n";

}

close(AA2); #закрытие файла с записанными данными

exit;

Система готова на 99%. Остается для удобства и автоматизации написать скрипт для обработки полученных данных - сортировки, подсчета и т.п. Но это уже выходит за рамки статьи. Тем более, это не так трудно, как сбор статистики, так что справишься. Кстати, можешь замутить еще и запись айпишника в файл статистики - будешь считать постоянных клиентов :).

Кто и как это использует?

Сбор сведений о системе пользователей используется в счетчиках, баннерах, партнерских программах. Отчасти это помогает выяснить, не накручивает ли кто показы и клики. Ведь не может же зайти на один сайт в течение 5 минут 1000 человек с неизвестными броузерами :). Из собранных мной в свое время таких данных можно сказать, что абсолютное большинство народа сидит под виндами (98%), юзает експлореры (92%), самые популярные разрешения - 1024х768 (43%), 800х600 (39%). Основываясь на этих данных, можно сказать, что если оптимизировать сайт под разрешение 800х600 для просмотра в ИЕ - наиболее выгодный метод. Ведь в IE есть понятная только ему поддержка некоторых элементов CSS, которые либо как-то криво, либо вообще никак не отобразятся в других броузерах. Я не хочу обидеть пользователей Netscape'а, но их ведь правда мало. Суровы законы реальности - большинство обычно кладет на меньшинство.

Назад на стр. 029-034-4  Содержание  Вперед на стр. 029-034-6