取得客户端信息(浏览器/IP/操作系统)

原创 2004年07月24日 11:12:00

<?php
class clientGetObj{
  function getBrowse()
  {
    global $_SERVER;
    $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, $Browsers[$i])){
        $browser = $Browsers[$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.]+)/', '1', $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.]+)/', '1', $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.]+)/','1',$browserver);
      $browserver = $browserver;
      $browser = 'Internet Explorer';
    }
    if($browser != ''){
      $browseinfo = $browser.' '.$browserver;
    } else {
      $browseinfo = false;
    }
    return $browseinfo;
  }

  function getIP ()
  {
    global $_SERVER;
    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;
  }

  function getOS ()
  {
    global $_SERVER;
    $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.1', $agent)){
      $os = 'Windows XP';
    }
    else if (eregi('win', $agent) && eregi('nt 5', $agent)){
      $os = 'Windows 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;
  }

}
?>

使用方法:

<php
$code = new clientGetObj;
$str1 = $code->getBrowse();//浏览器:
$str2 = $code->getIP();//IP地址:
$str3 = $code->getOS();//操作系统:
echo "目标浏览器:".$str1." OS:".$str3." IP:".$str2;
?>

最新PHP获取客户端浏览以及操作系统信息

PHP获取客户端浏览器以及操作系统信息是通过客户端浏览器传递过来的useragent信息进行判定的,因为客户端useragent信息可以伪造,所以通过PHP获取到的浏览器以及操作系统信息只能作为参考,...
  • leesin2011
  • leesin2011
  • 2016年12月02日 14:52
  • 4678

Servlet获取客户端浏览器信息和客户端的操作系统

前两天的项目中需要记录用户的登录信息,希望把用户的浏览器和操作系统等资料记录下来,开始的时候我是通过以下代码获取用户的浏览器和操作系统的。。       String Agent = request...
  • y353027520dx
  • y353027520dx
  • 2015年04月24日 14:46
  • 2827

js获取浏览器信息--名称、版本、操作系统

在网上搜索了一些关于获取浏览器信息的文章,总结如下: var browserInfor = {}; browserInfor.getBrowserInfo = funct...
  • qq_17335153
  • qq_17335153
  • 2015年06月29日 17:16
  • 2560

asp.net 获取客户端浏览器,ip地址,操作系统信息

 asp.net 获取客户端浏览器,ip地址,操作系统信息 public class CheckIP     {         #region 获取浏览器版本号           ///...
  • fengsuifeng___
  • fengsuifeng___
  • 2016年11月02日 11:22
  • 530

UserAgentUtils-1.20.jar 【用于通过从request请求中的User-Agent中获取客户端浏览器类型、客户端操作系统、ip地址等信息】

  • 2017年01月24日 16:21
  • 44KB
  • 下载

PHP获取客户端IP地址、浏览器类型版本、操作系统

  • wyqwclsn
  • wyqwclsn
  • 2016年02月03日 17:46
  • 593

PHP获取客户端IP地址、浏览器类型版本、操作系统

"code" class="php">    //获取IP地址   function get_client_ip($type = 0,$adv=true) {       $type = $t...
  • qq_39110055
  • qq_39110055
  • 2018年01月16日 10:08
  • 17

根据userAgent判断客户端是否手机、操作系统、浏览器等信息

User Agent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,User Agent也简称UA。它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本...
  • fei003
  • fei003
  • 2017年03月25日 18:32
  • 287

JS获取客户端信息(屏幕分辨率、浏览器版本、操作系统版本)

JavaScript获取客户端信息
  • yu670538949
  • yu670538949
  • 2016年10月28日 14:45
  • 1198

JAVA获取客户端请求电脑IP,操作系统等等各种信息

HttpServletRequest request = ServletActionContext.getRequest(); System.out.println("浏览器基本信息:"+reques...
  • icoudsoft_saas
  • icoudsoft_saas
  • 2015年07月15日 15:08
  • 2600
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:取得客户端信息(浏览器/IP/操作系统)
举报原因:
原因补充:

(最多只允许输入30个字)