это понятно, меня интересует что такое SV1 или там ещё бывает DigExt, что это значит...... Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
http://techpatterns.com/downloads/firefox/useragent_switcher_agents.txt вот кстати неплохая база юзер агентов... хотя конечно это далеко не все... где найти больше просто не знаю
На всякий пожарный (недавно писал): PHP: <? # (c) nerezus, GPL v2, icq 547097 # get_ua() get_os() function get_ua () { $ua=getenv("HTTP_USER_AGENT"); if (preg_match("/Opera/", $ua)) $ua="Opera"; else if (preg_match("/MSIE/i", $ua)) $ua="MSIE"; else if (preg_match("/Firefox/", $ua)) $ua="Firefox"; else if (preg_match("/Mozilla/", $ua)) $ua="Mozilla"; else if (preg_match("/Links/", $ua)) $ua="Links"; else $ua="Unknown"; return $ua; } function get_os () { $os=getenv("HTTP_USER_AGENT"); if (preg_match("/Windows\sNT/", $os)) $os="WinNT"; else if (preg_match("/Windows/", $os)) $os="Win9x"; else if (preg_match("/Linux/", $os)) $os="Linux"; else if (preg_match("/FreeBSD/", $os)) $os="FreeBSD"; else $os="Unknown"; return $os; } ?>
Нашел полный список юзер агентов http://www.pgts.com.au/pgtsj/pgtsj0208c.html P. S. На том сайте вообще много какой инфы про юзер агент... Все смотрим там..
вот еще варианты парсера PHP: /* |======================================== | veTTa traFFic v.1.2 private | (c) 2004 - 2005 Black Logic Team | http://www.blacklogic.net |======================================== */ error_reporting(0); //-------------------------------------------- // BROWSER //-------------------------------------------- if( eregi("(opera) ([0-9]{1,2}.[0-9]{1,3}){0,1}",$_SERVER['HTTP_USER_AGENT'],$sysarg) || eregi("(opera/)([0-9]{1,2}.[0-9]{1,3}){0,1}",$_SERVER['HTTP_USER_AGENT'],$sysarg)){$browser_user = "Opera";} else if( eregi("(konqueror)/([0-9]{1,2}.[0-9]{1,3})",$_SERVER['HTTP_USER_AGENT'],$sysarg) ){$browser_user = "Konqueror";} else if( eregi("(lynx)/([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2})",$_SERVER['HTTP_USER_AGENT'],$sysarg) ){$browser_user = "Lynx";} else if( eregi("(msie) ([0-9]{1,2}.[0-9]{1,3})",$_SERVER['HTTP_USER_AGENT'],$sysarg) ){$browser_user = "MSIE";} else if( eregi("(netscape6)/(6.[0-9]{1,3})",$_SERVER['HTTP_USER_AGENT'],$sysarg) ){$browser_user = "Netscape";} else if( eregi("mozilla/5",$_SERVER['HTTP_USER_AGENT']) ){$browser_user = "Mozilla";} else if( eregi("(mozilla)/([0-9]{1,2}.[0-9]{1,3})",$_SERVER['HTTP_USER_AGENT'],$sysarg) ){$browser_user = "Mozilla";} else{$browser_user = "no";} //-------------------------------------------- // SYSTEM //-------------------------------------------- if(eregi("linux",$_SERVER['HTTP_USER_AGENT'])){$os_user = "Linux";} else if(eregi("unix",$_SERVER['HTTP_USER_AGENT'])) {$os_user = "unix";} else if(eregi("hp-ux",$_SERVER['HTTP_USER_AGENT'])) {$os_user = "hp-ux";} else if(eregi("X11",$_SERVER['HTTP_USER_AGENT']) ){$os_user = "Linux";} else if(eregi("win32",$_SERVER['HTTP_USER_AGENT'])){$os_user = "Windows";} else if((eregi("(win)([0-9]{2})",$_SERVER['HTTP_USER_AGENT'],$sysarg)) || (eregi("(windows) ([0-9]{2})",$_SERVER['HTTP_USER_AGENT'],$sysarg)) ){$os_user = "Windows";} else if(eregi("Win 9x 4.90",$_SERVER['HTTP_USER_AGENT'])){$os_user = "Me";} else if(eregi("windows 2000",$_SERVER['HTTP_USER_AGENT']) || eregi("(windows nt)( ){0,1}(5.0)",$_SERVER['HTTP_USER_AGENT']) ){$os_user = "2000";} else if(eregi("(windows nt)( ){0,1}(5.1)",$_SERVER['HTTP_USER_AGENT']) ){$os_user = "XP";} else if(eregi("(winnt)([0-9]{1,2}.[0-9]{1,2}){0,1}",$_SERVER['HTTP_USER_AGENT'],$sysarg) ){$os_user = "NT";} else if(eregi("(windows nt)( ){0,1}([0-9]{1,2}.[0-9]{1,2}){0,1}",$_SERVER['HTTP_USER_AGENT'],$sysarg) ){$os_user = "NT";} else if(eregi("mac",$_SERVER['HTTP_USER_AGENT'])){$os_user = "Mac";} else if(eregi("(sunos) ([0-9]{1,2}.[0-9]{1,2}){0,1}",$_SERVER['HTTP_USER_AGENT'],$sysarg)){$os_user = "SunOS";} else if(eregi("(beos) r([0-9]{1,2}.[0-9]{1,2}){0,1}",$_SERVER['HTTP_USER_AGENT'],$sysarg)){$os_user = "BeOS";} else if(eregi("freebsd",$_SERVER['HTTP_USER_AGENT'])){$os_user = "FreeBSD";} else if(eregi("openbsd",$_SERVER['HTTP_USER_AGENT'])){$os_user = "OpenBSD";} else if(eregi("irix",$_SERVER['HTTP_USER_AGENT'])){$os_user = "IRIX";} else if(eregi("os/2",$_SERVER['HTTP_USER_AGENT'])){$os_user = "OS2";} else{$os_user = "no";} .... или PHP: if (strstr($user_agent, "Nav")) $browser = "Netscape"; elseif (strstr($user_agent, "Lynx")) $browser = "Lynx"; elseif (strstr($user_agent, "Opera")) $browser = "Opera"; elseif (strstr($user_agent, "WebTV")) $browser = "WebTV"; elseif (strstr($user_agent, "Konqueror")) $browser = "Konqueror"; elseif (strstr($user_agent, "Bot")) $browser = "Bot"; elseif (strstr($user_agent, "MSIE")) $browser = "MSIE"; elseif (strstr($user_agent, "Firefox/1.0.6")) $browser = "Firefox/1.0.6"; elseif (strstr($user_agent, "Firefox/1.0.4")) $browser = "Firefox/1.0.4"; elseif (strstr($user_agent, "Firefox/1.0.3")) $browser = "Firefox/1.0.3"; elseif (strstr($user_agent, "Firefox/1.0.2")) $browser = "Firefox/1.0.2"; elseif (strstr($user_agent, "Firefox/1.0.1")) $browser = "Firefox/1.0.1"; elseif (strstr($user_agent, "Firefox/1.0")) $browser = "Firefox/1.0"; elseif (strstr($user_agent, "Firefox")) $browser = "Firefox"; ... if (strstr($user_agent, "Windows 95")) $os = "Windows 95"; elseif (strstr($user_agent, "Windows NT 4")) $os = "Windows NT 4"; elseif (strstr($user_agent, "Win 9x 4.9")) $os = "Windows ME"; elseif (strstr($user_agent, "Windows 98")) $os = "Windows 98"; elseif (strstr($user_agent, "Windows NT 5.0")) $os = "Windows 2000"; elseif (strstr($user_agent, "SV1")) $os = "Windows XP SP2"; elseif (strstr($user_agent, "Windows NT 5.1")) $os = "Windows XP"; elseif (strstr($user_agent, "Windows NT 5.2")) $os = "Windows 2003"; ...
Можно на античат поставить скрипт, который будет в файл сувать все различные юзерагенты, вот и будет полный список %)
Да не.. не надо... Я чуть выше давал ссылку на полный список юзер агентов. Его там и скачать можно в виде базы.
Подскажите как в этот код <?php $image=imagecreatefrompng('template.png'); $colour = imagecolorallocate($image, 255, 255, 255); $font = 'arial.ttf'; $size=10; $angle=0; $x=10; $y=13; $string="Your IP: ".$_SERVER['REMOTE_ADDR']; imagettftext($image, $size, $angle, $x, $y, $colour, $font, $string); header('Content-Type: image/png;'); imagepng($image); ?> вставить if((strstr($_SERVER["HTTP_USER_AGENT"], "Win")) $os = "Windows"; elseif (strstr($_SERVER["HTTP_USER_AGENT"], "Mac")) || (ereg("PPC", getenv("HTTP_USER_AGENT")))) $os = "Mac"; elseif (strstr($_SERVER["HTTP_USER_AGENT"], "Linux")) $os = "Linux"; elseif (strstr($_SERVER["HTTP_USER_AGENT"], "FreeBSD")) $os = "FreeBSD"; elseif (strstr($_SERVER["HTTP_USER_AGENT"], "SunOS")) $os = "SunOS"; elseif (strstr($_SERVER["HTTP_USER_AGENT"], "IRIX")) $os = "IRIX"; elseif (strstr($_SERVER["HTTP_USER_AGENT"], "BeOS")) $os = "BeOS"; elseif (strstr($_SERVER["HTTP_USER_AGENT"], "OS/2")) $os = "OS/2"; elseif (strstr($_SERVER["HTTP_USER_AGENT"], "AIX")) $os = "AIX"; else $os = "Other"; и if (strstr($_SERVER["HTTP_USER_AGENT"], "Nav")) $browser = "Netscape"; elseif (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) $browser = "MSIE"; elseif (strstr($_SERVER["HTTP_USER_AGENT"], "Lynx")) $browser = "Lynx"; elseif (strstr($_SERVER["HTTP_USER_AGENT"], "Opera")) $browser = "Opera"; elseif (strstr($_SERVER["HTTP_USER_AGENT"], "WebTV")) $browser = "WebTV"; elseif (strstr($_SERVER["HTTP_USER_AGENT"], "Konqueror")) $browser = "Konqueror"; elseif (strstr($_SERVER["HTTP_USER_AGENT"], "Bot")) $browser = "Bot"; else $browser = "Other";
видел такие сервисы. принцип думаю очень прост. в подпись ставится урл на картинку, потому как скрипты врядли получится. картинка дергается с хостинга где вместо картинки находится скрипт, определяющий юзерагент и айпи, генерирующий с помощью gd картинку и отдающий ее.