PHP探针获取客户端信息

发布时间:2020-06-29编辑:脚本学堂
分享一例php探针代码,用于获取客户端信息,掌握下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.jb200.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、内存、硬盘信息原因 解决。