久久无码中文字幕_日韩精品无码一本二本三_久久精品呦女暗网_欧美一级夜夜爽_久久精品国产99久久99久久久

25
2018/11

PHP 獲取客戶端ip地址

發(fā)布時間:2018-11-25 18:25:22
發(fā)布者:pengyifeng
瀏覽量:
0

一、如果沒有使用代理服務(wù)器,

  REMOTE_ADDR = 客戶端IP    HTTP_X_FORWARDED_FOR = 沒數(shù)值或不顯示

  $ip = $_SERVER['REMOTE_ADDR'];

 二、使用透明代理,

  REMOTE_ADDR = 最后一個代理服務(wù)器 IP
  HTTP_X_FORWARDED_FOR = 客戶端真實 IP (經(jīng)過多個代理服務(wù)器時,這個值類似:221.5.252.160, 203.98.182.163, 203.129.72.215)

  這類代理還會將客戶真實ip發(fā)送到請求對象,無法隱藏真實ip。

  $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];

三、使用普通匿名代理服務(wù)器,

  REMOTE_ADDR = 最后一個代理服務(wù)器 IP
  HTTP_X_FORWARDED_FOR = 代理服務(wù)器 IP (經(jīng)過多個代理服務(wù)器時,這個值類似:203.98.182.163, 203.98.182.163, 203.129.72.215)

  這樣就隱藏了客戶端的真實ip,但服務(wù)器會知道客戶端是通過代理服務(wù)器去訪問的。

四、使用欺騙性代理服務(wù)器,

  REMOTE_ADDR = 代理服務(wù)器 IP
  HTTP_X_FORWARDED_FOR = 隨機的 IP(經(jīng)過多個代理服務(wù)器時,這個值類似:220.4.251.159, 203.98.182.163, 203.129.72.215)

  服務(wù)器可以識別到時通過代理服務(wù)器訪問的,但發(fā)送給目標(biāo)服務(wù)器的是虛假ip。

五、使用高匿名代理,

  REMOTE_ADDR = 代理服務(wù)器 IP       HTTP_X_FORWARDED_FOR = 沒數(shù)值或不顯示

  使用這種代理時,不同瀏覽器不同設(shè)備會返回不同的ip頭信息,因此PHP使用$_SERVER["REMOTE_ADDR"] 、$_SERVER["HTTP_X_FORWARDED_FOR"] 獲取的值可能是空值也可能是“unknown”值。

PHP獲取ip代碼如下:

public function ip() {    //strcasecmp 比較兩個字符,不區(qū)分大小寫。返回0,>0,<0。

    if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {        $ip = getenv('HTTP_CLIENT_IP');
    } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {        $ip = getenv('HTTP_X_FORWARDED_FOR');
    } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {        $ip = getenv('REMOTE_ADDR');
    } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {        $ip = $_SERVER['REMOTE_ADDR'];
    }    $res =  preg_match ( '/[\d\.]{7,15}/', $ip, $matches ) ? $matches [0] : '';    echo $res;    //dump(phpinfo());//所有PHP配置信息}
關(guān)鍵詞:
返回列表