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   
    */
    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;
    }
}

 

還有就是一些用Js代碼獲取客戶端信息的代碼,既然分組了,就不在這個地方寫了,不多...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章