Парсинг заголовка HTTP_USER_AGENT
Определить ОС и версию по заголовкам user-agent (HTTP_USER_AGENT)
function getOS($u_agent)
{
$system['Windows 3.1'] = "Windows 3.1";
$system['Win16'] = "Windows 3.1";
$system['16bit'] = "Windows 3.1";
$system['Win32'] = "Windows 95";
$system['32bit'] = "Windows 95";
$system['Win 32'] = "Windows 95";
$system['Win95'] = "Windows 95";
$system['Windows 95/NT'] = "Windows 95";
$system['Win98'] = "Windows 98";
$system['Windows 95'] = "Windows 95";
$system['Windows 98'] = "Windows 98";
$system['Windows NT 5.0'] = "Windows 2000";
$system['Windows NT 5.1'] = "Windows XP";
$system['Windows NT 6.1'] = "Windows 7";
$system['Windows NT'] = "Windows NT";
$system['WinNT'] = "Windows NT";
$system['Windows ME'] = "Windows ME";
$system['Windows CE'] = "Windows CE";
$system['Windows'] = "Windows 95";
$system['Mac_68000'] = "Macintosh";
$system['Mac_PowerPC'] = "Macintosh";
$system['Mac_68K'] = "Macintosh";
$system['Mac_PPC'] = "Macintosh";
$system['Macintosh'] = "Macintosh";
$system['IRIX'] = "Unix";
$system['SunOS'] = "Unix";
$system['AIX'] = "Unix";
$system['Linux'] = "Unix";
$system['HP-UX'] = "Unix";
$system['SCO_SV'] = "Unix";
$system['FreeBSD'] = "Unix";
$system['BSD/OS'] = "Unix";
$system['OS/2'] = "OS/2";
$system['WebTV/1.0'] = "WebTV/1.0";
$system['WebTV/1.2'] = "WebTV/1.2";
preg_match("/\(([^;]+);/ui",$u_agent,$out);
if(!$out)
return 'UNKNOWN';
$key = $out[1];
if(getElement($system, $key))
return $system[$key];
return 'UNKNOWN';
}
Комментарии
Отправить комментарий