/*
Файл : sniffer.php
Назначение: Идентификация типа/версии броузера и платформы
Автор: В. Дж. Гилмор
Дата : 24 августа 2000 г.
*/
// Функция: browser_info
// Назначение: Возврщаает тип и версию броузера
function browser_info ($agent) {
// Определить тип броузера
// Искать сигнатуру Internet Explorer
if (ereg( 'MSIE ([0-9].[0-9]{1,2})', $agent, $version)) :
$browse_type = "IE";
$browse_version = $version[1];
// Искать сигнатуру Opera
elseif (ereg( 'Opera ([0-9].[0-9]{1,2})', $agent, $version)) :
$browse_type = "Opera";
$browse_version = $version[1];
// Искать сигнатуру Netscape. Проверка броузера Netscape
// *должна* выполняться после проверки Internet Explorer и Opera,
// поскольку все эти броузеры любят сообщать имя
// Mozilla вместе с настоящим именем.
elseif (ereg( 'Mozilla/([0-9].[0-9]{1,2})', $agent, $version)) :
$browse_type = "Netscape";
$browse_version = $version[1];
// Если это не Internet Explorer, Opera или Netscape -
// значит, мы обнаружили неизвестный броузер.
else :
$browse_type = "Unknown";
$browse_version = "Unknown";
endif;
// Вернуть тип и версию броузера в виде массива
return array($browse_type, $browse_version);
} // Конец функции browser_info
// Функция: opsys_info
// Назначение: Возвращает информацию об операционной системе пользователя
function opsys_info($agent) {
// Идентифицировать операционную систему
// Искать сигнатуру Windows
if ( strstr ($agent, 'Win') ) :
$opsys = "Windows";
// Искать сигнатуру Linux
elseif ( strstr($agent, 'Linux') ) :
$opsys = "Linux";
// Искать сигнатуру UNIX
elseif ( strstr ($agent, 'Unix') ) :
$opsys = "Unix";
// Искать сигнатуру Macintosh
elseif ( strstr ($agent,'Mac') ) :
$opsys = "Macintosh";
// Неизвестная платформа
else :
$opsys = "Unknown";
endif;
// Вернуть информацию об операционной системе
return $opsys;
} // Конец функции opsys_info
// Сохранить возвращаемый массив в списке
list ($browse_type, $browse_version) = browser_info ($HTTP_USER_AGENT);
$operating_sys = opsys_info ($HTTP_USER_AGENT);
print "Browser Type: $browse_type
";
print "Browser Version: $browse_version
";
print "Operating System: $operating_sys
";
?>