亚洲欧美日韩综合系列在线_91精品人妻一区二区_欧美大肥婆一级特大AA片_九色91视频免费观看_亚洲综合国产精品_av中文字幕在线不卡_久久精品色综合网_看黄色视频的软件_无卡无码高清中文字幕码2024_亚洲欧美日韩天堂网

PHP如何獲取客戶端的IP地址?(代碼示例)

來源:青燈夜游 發(fā)布時間:2018-11-22 17:54:02 閱讀量:842

本篇文章給大家?guī)淼膬?nèi)容是介紹PHP如何獲取客戶端的IP地址?(代碼示例),讓大家了解PHP獲取IP地址的方法。有一定的參考價值,有需要的朋友可以參考一下,希望對你們有所幫助。

首先我們來了解相關(guān)變量的含義

$_SERVER['REMOTE_ADDR']:瀏覽當(dāng)前頁面的用戶計算機的ip地址

$_SERVER['HTTP_CLIENT_IP']:客戶端的ip

$_SERVER['HTTP_X_FORWARDED_FOR']:瀏覽當(dāng)前頁面的用戶計算機的網(wǎng)關(guān)

$_SERVER['HTTP_X_REAL_IP']:nginx 代理模式下,獲取客戶端真實IP

下面我們通過簡單的代碼示例來介紹PHP獲取客戶端IP地址的方法。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

/**

 *  獲取客戶端IP地址

 */

function real_ip()

{

    $ip = $_SERVER['REMOTE_ADDR'];

    if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches)) {

        foreach ($matches[0] AS $xip) {

            if (!preg_match('#^(10|172\.16|192\.168)\.#', $xip)) {

                $ip = $xip;

                break;

            }

        }

    } elseif (isset($_SERVER['HTTP_CLIENT_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CLIENT_IP'])) {

        $ip = $_SERVER['HTTP_CLIENT_IP'];

    } elseif (isset($_SERVER['HTTP_CF_CONNECTING_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CF_CONNECTING_IP'])) {

        $ip = $_SERVER['HTTP_CF_CONNECTING_IP'];

    } elseif (isset($_SERVER['HTTP_X_REAL_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_X_REAL_IP'])) {

        $ip = $_SERVER['HTTP_X_REAL_IP'];

    }

    return $ip;

}

總結(jié):以上就是本篇文章的全部內(nèi)容,希望能對大家的學(xué)習(xí)有所幫助。


標簽: PHP
分享:
評論:
你還沒有登錄,請先