PHP探针获取客户端信息
例子,php探针代码。
<?php
class getinfo
{
/*
getbrowse() get browse edition
getOS() get computy edition
nowurl() get url at moment
comurl() get come url
browerinfo() get browse information
language() get IE language
timeset() get Server time set
getIP() get custom ip
*/ www.jbxue.com
function getbrowser()
{
$Agent = $_SERVER['HTTP_USER_AGENT'];
$browser = '';
$browserver = '';
$Browser = array('Lynx', 'MOSAIC', 'AOL', 'Opera', 'JAVA', 'MacWeb', 'WebExplorer', 'OmniWeb');
for($i = 0; $i <= 7; $i ++)
{
if(strpos($Agent, $Browser[$i]))
{
$browser = $Browser[$i];
$browserver = '';
}
}
if(ereg('Mozilla', $Agent) && !ereg('MSIE', $Agent))
{
$temp = explode('(', $Agent);
$Part = $temp[0];
$temp = explode('/', $Part);
$browserver = $temp[1];
$temp = explode(' ', $browserver);
$browserver = $temp[0];
$browserver = preg_replace('/([d.]+)/', '.', $browserver);
$browserver = $browserver;
$browser = 'Netscape Navigator';
}
if(ereg('Mozilla', $Agent) && ereg('Opera', $Agent))
{
$temp = explode('(', $Agent);
$Part = $temp[1];
$temp = explode(')', $Part);
$browserver = $temp[1];
$temp = explode(' ', $browserver);
$browserver = $temp[2];
$browserver = preg_replace('/([d.]+)/', '.', $browserver);
$browserver = $browserver;
$browser = 'Opera';
}
if(ereg('Mozilla', $Agent) && ereg('MSIE', $Agent))
{
$temp = explode('(', $Agent);
$Part = $temp[1];
$temp = explode(';', $Part);
$Part = $temp[1];
$temp = explode(' ', $Part);
$browserver = $temp[2];
$browserver = preg_replace('/([d.]+)/','.',$browserver);
$browserver = $browserver;
$browser = 'Internet Explorer';
}
if($browser != '')
{
$browseinfo = $browser.' '.$browserver;
}
else
{
$browseinfo = false;
}
return $browseinfo;
}
function getOS ()
{
$agent = $_SERVER['HTTP_USER_AGENT'];
$os = false;
if (eregi('win', $agent) && strpos($agent, '95'))
{
$os = 'Windows 95';
}
else if (eregi('win 9x', $agent) && strpos($agent, '4.90'))
{
$os = 'Windows ME';
}
else if (eregi('win', $agent) && ereg('98', $agent))
{
$os = 'Windows 98';
}
else if (eregi('win', $agent) && eregi('nt 5.2', $agent))
{
$os = 'Windows Server 2003';
}
else if (eregi('win', $agent) && eregi('nt 5.1', $agent))
{
$os = 'Windows XP';
}
else if (eregi('win', $agent) && eregi('nt 5', $agent))
{
$os = 'Windows Server 2000';
}
else if (eregi('win', $agent) && eregi('nt', $agent))
{
$os = 'Windows NT';
}
else if (eregi('win', $agent) && ereg('32', $agent))
{
$os = 'Windows 32';
}
else if (eregi('linux', $agent))
{
$os = 'Linux';
}
else if (eregi('unix', $agent))
{
$os = 'Unix';
}
else if (eregi('sun', $agent) && eregi('os', $agent))
{
$os = 'SunOS';
}
else if (eregi('ibm', $agent) && eregi('os', $agent))
{
$os = 'IBM OS/2';
}
else if (eregi('Mac', $agent) && eregi('PC', $agent))
{
$os = 'Macintosh';
}
else if (eregi('PowerPC', $agent))
{
$os = 'PowerPC';
}
else if (eregi('AIX', $agent))
{
$os = 'AIX';
}
else if (eregi('HPUX', $agent))
{
$os = 'HPUX';
}
else if (eregi('NetBSD', $agent))
{
$os = 'NetBSD';
}
else if (eregi('BSD', $agent))
{
$os = 'BSD';
}
else if (ereg('OSF1', $agent))
{
$os = 'OSF1';
}
else if (ereg('IRIX', $agent))
{
$os = 'IRIX';
}
else if (eregi('FreeBSD', $agent))
{
$os = 'FreeBSD';
}
else if (eregi('teleport', $agent))
{
$os = 'teleport';
}
else if (eregi('flashget', $agent))
{
$os = 'flashget';
}
else if (eregi('webzip', $agent))
{
$os = 'webzip';
}
else if (eregi('offline', $agent))
{
$os = 'offline';
}
else
{
$os = 'Unknown';
}
return $os;
}
function comurl()
{
if( !empty( $_SERVER['HTTP_REFERER'] ) )
{
return $_SERVER['HTTP_REFERER'];
}
else
{
return "";
}
}
function browserinfo()
{
return $_SERVER['HTTP_USER_AGENT'];
}
function nowurl()
{
return "http://".$_SERVER ['HTTP_HOST'].$_SERVER['PHP_SELF'];
}
function language()
{
return $_SERVER['HTTP_ACCEPT_LANGUAGE'];
}
function timeset()
{
return date_default_timezone_get();
}
function getIP() //get ip address
{
if (getenv('HTTP_CLIENT_IP'))
{
$ip = getenv('HTTP_CLIENT_IP');
}
else if (getenv('HTTP_X_FORWARDED_FOR'))
{
$ip = getenv('HTTP_X_FORWARDED_FOR');
}
else if (getenv('REMOTE_ADDR'))
{
$ip = getenv('REMOTE_ADDR');
}
else
{
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
}
以上代码实现了phpinfo类似的功能,一个简单的php探针,用于检测客户端信息。
如有问题请参考:php探针不显示cpu、内存、硬盘信息原因 解决。
您可能感兴趣的文章:
php探针 phpinfo()函数禁用时使用
php 获取网站地址的函数代码
php函数获取在线ip与客户端ip
php获取远程客户端真实ip地址
深入解析PHP获取客户端IP的方法
API接口之安全篇
php服务器探针显示php服务器信息
PHP whois客户端查询的实现代码
PHP 如何进行socket套节字的连接
php探针不显示cpu、内存、硬盘信息原因分析