1. 程式人生 > >php 獲取客戶端的ip、地理資訊、瀏覽器資訊、本地真實ip

php 獲取客戶端的ip、地理資訊、瀏覽器資訊、本地真實ip

<?php
 // 作用取得客戶端的ip、地理資訊、瀏覽器、本地真實IP
 class get_gust_info { 
  
  ////獲得訪客瀏覽器型別
  function GetBrowser(){
   if(!empty($_SERVER['HTTP_USER_AGENT'])){
    $br = $_SERVER['HTTP_USER_AGENT'];
    if (preg_match('/MSIE/i',$br)) {    
               $br = 'MSIE';
             }elseif (preg_match('/Firefox/i',$br)) {
     $br = 'Firefox';
    }elseif (preg_match('/Chrome/i',$br)) {
     $br = 'Chrome';
       }elseif (preg_match('/Safari/i',$br)) {
     $br = 'Safari';
    }elseif (preg_match('/Opera/i',$br)) {
        $br = 'Opera';
    }else {
        $br = 'Other';
    }
    return $br;
   }else{return "獲取瀏覽器資訊失敗!";} 
  }
  
  ////獲得訪客瀏覽器語言
  function GetLang(){
   if(!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
    $lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
    $lang = substr($lang,0,5);
    if(preg_match("/zh-cn/i",$lang)){
     $lang = "簡體中文";
    }elseif(preg_match("/zh/i",$lang)){
     $lang = "繁體中文";
    }else{
        $lang = "English";
    }
    return $lang;
    
   }else{return "獲取瀏覽器語言失敗!";}
  }
  
   ////獲取訪客作業系統
  function GetOs(){
   if(!empty($_SERVER['HTTP_USER_AGENT'])){
    $OS = $_SERVER['HTTP_USER_AGENT'];
      if (preg_match('/win/i',$OS)) {
     $OS = 'Windows';
    }elseif (preg_match('/mac/i',$OS)) {
     $OS = 'MAC';
    }elseif (preg_match('/linux/i',$OS)) {
     $OS = 'Linux';
    }elseif (preg_match('/unix/i',$OS)) {
     $OS = 'Unix';
    }elseif (preg_match('/bsd/i',$OS)) {
     $OS = 'BSD';
    }else {
     $OS = 'Other';
    }
          return $OS;  
   }else{return "獲取訪客作業系統資訊失敗!";}   
  }
  
  ////獲得訪客真實ip
  function Getip(){
   if(!empty($_SERVER["HTTP_CLIENT_IP"])){   
      $ip = $_SERVER["HTTP_CLIENT_IP"];
   }
   if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ //獲取代理ip
    $ips = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
   }
   if($ip){
      $ips = array_unshift($ips,$ip); 
   }
   
   $count = count($ips);
   for($i=0;$i<$count;$i++){   
     if(!preg_match("/^(10|172\.16|192\.168)\./i",$ips[$i])){//排除區域網ip
      $ip = $ips[$i];
      break;    
      }  
   }  
   $tip = empty($_SERVER['REMOTE_ADDR']) ? $ip : $_SERVER['REMOTE_ADDR']; 
   if($tip=="127.0.0.1"){ //獲得本地真實IP
      return $this->get_onlineip();   
   }else{
      return $tip; 
   }
  }
  
  ////獲得本地真實IP
  function get_onlineip() {
      $mip = file_get_contents("http://city.ip138.com/city0.asp");
       if($mip){
           preg_match("/\[.*\]/",$mip,$sip);
           $p = array("/\[/","/\]/");
           return preg_replace($p,"",$sip[0]);
       }else{return "獲取本地IP失敗!";}
   }
  
  ////根據ip獲得訪客所在地地名
  function Getaddress($ip=''){
   if(empty($ip)){
       $ip = $this->Getip();    
   }
   $ipadd = file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip=".$ip);//根據新浪api介面獲取
   if($ipadd){
    $charset = iconv("gbk","utf-8",$ipadd);   
    preg_match_all("/[\x{4e00}-\x{9fa5}]+/u",$charset,$ipadds);
    
    return $ipadds;   //返回一個二維陣列
   }else{return "addree is none";}  
  } 
 }
 $gifo = new get_gust_info();
 echo "你的ip:".$gifo->Getip();
 echo "<br/>所在地:";
 $ipadds = $gifo->Getaddress();
 foreach($ipadds[0] as $value){
     echo "\r\n    ".iconv("utf-8","gbk",$value);    
 }
 
 echo "<br/>瀏覽器型別:".$gifo->GetBrowser();
 echo "<br/>瀏覽器語言:".$gifo->GetLang();
 echo "<br/>作業系統:".$gifo->GetOs();
  
 
 ?>

相關推薦

php 獲取客戶ip地理資訊瀏覽器資訊本地真實ip

<?php // 作用取得客戶端的ip、地理資訊、瀏覽器、本地真實IP class get_gust_info { ////獲得訪客瀏覽器型別 function GetBrowser(){ if(!empty($_SERVER['HTTP_U

PHP獲取客戶IP地址瀏覽器型別版本作業系統

</pre><pre name="code" class="php"><?php //獲取IP地址 function get_client_ip($type = 0,$adv=true) { $type = $type ? 1 : 0

PHP獲取客戶和服務器IP(轉)

light 代理ip pre 客戶端測試 function 變量 clas env 環境 客戶端的ip變量: $_SERVER[‘REMOTE_ADDR‘] :客戶端IP,也有可能是代理IP $_SERVER[‘HTTP_CLIENT_IP‘]:代理端的IP,可能存在,也可

PHP獲取客戶IP地址,服務器IP地址

客戶端 get sse spa gets static p地址 tip sta ============================================獲取客戶端IP==============================================

PHP獲取客戶瀏覽以及作業系統資訊

                         

PHP 獲取客戶 IP 地址

先來了解一個變數的含義: $_SERVER['REMOTE_ADDR']:瀏覽當前頁面的使用者計算機的ip地址 $_SERVER['HTTP_CLIENT_IP']:客戶端的ip $_SERVER['HTTP_X_FORWARDED_FOR']:瀏覽當前頁面的使用者計算機的閘道器

php獲取客戶ip地址或者伺服器ip地址

1.$_SERVER['REMOTE_ADDR'] 客戶端IP,有可能是使用者的IP,也可能是代理的IP。 2.$_SERVER['HTTP_CLIENT_IP'] 代理端的IP,可能存在可偽造。 3.$_SERVER['HTTP_X_FORWARDER_FOR'] 使用者是在哪個IP使用的代理,可

PHP 獲取客戶ip地址

一、如果沒有使用代理伺服器,   REMOTE_ADDR = 客戶端IP    HTTP_X_FORWARDED_FOR = 沒數值或不顯示   $ip = $_SERVER['REMOTE_ADDR']; 二、使用透明代理,   REMOTE_ADDR = 最後

php 獲取客戶真實IP地址 和 檢查客戶從什麼地方過來的請求

/* * 函式功能: 獲取客戶端的真實IP地址 * * 為什麼要用這個函式? * 因為我們線上Web伺服器絕大部分都處於Netscaler(簡稱NS)後面,客戶端訪問的地址統一由NS排程 * 由NS排程的訪問其實就是NS做了一層代理, 這期間就有一個問題, 因為真實

PHP獲取客戶IP

1.REMOTE_ADDR:瀏覽當前頁面的使用者計算機的ip地址 2.HTTP_X_FORWARDED_FOR: 瀏覽當前頁面的使用者計算機的閘道器 3.HTTP_CLIENT_IP:客戶端的ip 在PHP 中使用 SERVER["REMOTEADDR"]

php獲取客戶IPphp獲取伺服器IP

1.php獲取客戶端IP 在PHP獲取客戶端IP時,常使用 $_SERVER["REMOTE_ADDR"] 。但如果客戶端是使用代理伺服器來訪問,那取到的是代理伺服器的 IP 地址,而不是真正的客戶端 IP 地址。要想透過代理伺服器取得客戶端的真實 IP 地址,就要

PHP獲取客戶真實IP

我們經常要用資料庫記錄使用者的IP,以下程式碼可以獲取客戶端真實的IP://獲取使用者真實IP function getIp() { if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_C

php獲取客戶真實ip地址的三種方法

php獲取使用者(客戶端)真實IP地址的兩種方法 第一種方法,還算靠譜,本人以前一直用的是這個方法: function get_real_ip(){ $ip=false; if(!empty($_SERVER['HTTP_CL

php獲取客戶mac地址

pre -a 結果 array serve str bre val log exec(‘/sbin/arp -a 2>&1‘, $array, $return_val);dump($array);$mac = ‘‘;foreach($array as $val

JS配合PHP獲取客戶MAC地址

<SCRIPT language="JScript" event="OnCompleted(hResult,pErrorObject, pAsyncContext)" for="foo"> document.forms[0].lbMacAddr.value=u

PHP獲取客戶瀏覽器資訊獲取客戶系統資訊獲取伺服器資訊

一、PHP獲取客戶端(瀏覽器)資訊函式/** * 獲取客戶端瀏覽器資訊 * @param null * @author https://blog.jjonline.cn/phptech/168.html * @return string */

JS獲取客戶IP地址MAC和主機名的7個方法彙總

這篇文章主要介紹了JS獲取客戶端IP地址、MAC和主機名的7個方法彙總,JS本身是不支援獲取IP地址等資訊的,本文通過其它方法實現,需要的朋友可以參考下 今天在搞JS(javascript)獲取客戶端IP的小程式,上網搜了下,好多在現在的系統和瀏覽器中的都無效,很無奈,在C

Jetty/Tomcat + Nginx反向代理獲取客戶真實IP域名協議

問題 Nginx反向代理後,Servlet應用通過request.getRemoteAddr()取到的IP是Nginx的IP地址,並非客戶端真實IP,通過request.getRequestURL()獲取的域名、協議、埠都是Nginx訪問Web應用時的域名、協

PHP 後臺獲取客戶ip

做微信小程式時,需要獲取到使用者手機的ip。找不到小程式相關資料,於是乎發現自己的思路錯了。 在小程式端傳送 手機ip到後臺思路目前是行不通的,將思路改變為在後臺獲取客戶端ip,具體函式如下(放專案公共函式檔案內即可) if (!function_exists('get_

js獲取客戶IP地理位置

[php] view plain copy  print? 1.<?php      2.function get_ip_place(){      3.$ip=file_get_contents("http://fw.qq.com/ipaddress");      4.$ip=str