1. 程式人生 > >PHP獲取客戶端的IP

PHP獲取客戶端的IP

1.REMOTE_ADDR:瀏覽當前頁面的使用者計算機的ip地址
2.HTTP_X_FORWARDED_FOR: 瀏覽當前頁面的使用者計算機的閘道器
3.HTTP_CLIENT_IP:客戶端的ip

在PHP 中使用 SERVER["REMOTEADDR"]IP使IPIPIP使_SERVER[“HTTP_X_FORWARDED_FOR”] 來讀取。

不過要注意的事,並不是每個代理伺服器都能用 $_SERVER[“HTTP_X_FORWARDED_FOR”] 來讀取客戶端的真實 IP,有些用此方法讀取到的仍然是代理伺服器的 IP。

還有一點需要注意的是:如果客戶端沒有通過代理伺服器來訪問,那麼用$_SERVER[“HTTP_X_FORWARDED_FOR”] 取到的值將是空的。

/**
 * 獲取客戶端IP
 * @return string
 */
function get_client_ip()
{
    $realip = "";
    if ($_SERVER['HTTP_X_FORWARDED_FOR'] && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_X_FORWARDED_FOR']))
    {
        $realip
= $_SERVER['HTTP_X_FORWARDED_FOR']; } else if ($_SERVER['HTTP_CLIENT_IP'] && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CLIENT_IP'])) { $realip = $_SERVER['HTTP_CLIENT_IP']; } else if($_SERVER['REMOTE_ADDR'] && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/'
, $_SERVER['HTTP_CLIENT_IP'])) { $realip = $_SERVER['REMOTE_ADDR']; } return $realip; }

相關推薦

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

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

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獲取客戶IPphp獲取伺服器IP

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

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

PHP 後臺獲取客戶ip

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

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

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

PHP獲取客戶IP

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

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

Java獲取客戶IP

不為 pty 獲取 code 中間 clas 代理服務器 gin servle 在開發工作中,我們常常需要獲取客戶端的IP。一般獲取客戶端的IP地址的方法是:request.getRemoteAddr();但是在通過了Apache,Squid等反向代理軟件就不能獲取到客戶端

ASP.NET獲取客戶IP/用戶名等信息

username .net target list .get 獲取用戶信息 add dom 編程 1. 在ASP.NET中專用屬性: 獲取服務器電腦名:Page.Server.ManchineName 獲取用戶信息:Page.User 獲取客戶端電腦名:Page.Reque

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

獲取客戶IP地址

type 數字 fun xpl func ram server ip地址 p地址 /** * 獲取客戶端IP地址 * @param integer $type 返回類型 0 返回IP地址 1 返回IPV4地址數字 * @param boole

獲取客戶ip訪問網站的次數和請求頁面腳本

客戶端ip訪問網站的次數和請求頁面腳本獲取客戶端ip訪問網站的次數和請求頁面 #/bin/bash cd /data/iplog/$1/pv txt=$(ls -l|awk ‘{print $NF}‘|sed ‘1d‘) for n in $txt do ip=$(cat /root/iplist) for

JAVA中經過nginx反向代理獲取客戶ip獲取相關坐標等信息

IT urn 輸出 代理 nginx 高德 AD color javascrip 關於搜狐新浪ip庫查詢接口的使用 直接輸出訪客ip及所在城市: <script src="http://pv.sohu.com/cityjson?ie=utf-8" >&l

獲取客戶 ip

shift reg server add arr rem xpl for false $ip = false; if (!empty($_SERVER["HTTP_CLIENT_IP"])) { $ip