|

ВЕБ-ШПИОНСТВО - добываем инфу о юзере
Леха ББ 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
|