PHP 獲取IP地址

mmxn 9年前發布 | 1K 次閱讀 PHP

    <?php  
    function GetIP()  
        {  
            static $realip = NULL;  
            if ($realip !== NULL)  
            {  
                return $realip;  
            }  
            if (isset($_SERVER))  
            {  
                if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))  
                {  
                    $arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);  
                    /* 取X-Forwarded-For中第x個非unknown的有效IP字符? */  
                    foreach ($arr as $ip)  
                    {  
                        $ip = trim($ip);  
                        if ($ip != 'unknown')  
                        {  
                            $realip = $ip;  
                            break;  
                        }  
                    }  
                }  
                elseif (isset($_SERVER['HTTP_CLIENT_IP']))  
                {  
                    $realip = $_SERVER['HTTP_CLIENT_IP'];  
                }  
                else  
                {  
                    if (isset($_SERVER['REMOTE_ADDR']))  
                    {  
                        $realip = $_SERVER['REMOTE_ADDR'];  
                    }  
                    else  
                    {  
                        $realip = '0.0.0.0';  
                    }  
                }  
            }  
            else  
            {  
                if (getenv('HTTP_X_FORWARDED_FOR'))  
                {  
                    $realip = getenv('HTTP_X_FORWARDED_FOR');  
                }  
                elseif (getenv('HTTP_CLIENT_IP'))  
                {  
                    $realip = getenv('HTTP_CLIENT_IP');  
                }  
                else  
                {  
                    $realip = getenv('REMOTE_ADDR');  
                }  
            }  
            preg_match("/[\d\.]{7,15}/", $realip, $onlineip);  
            $realip = ! empty($onlineip[0]) ? $onlineip[0] : '0.0.0.0';  
            return $realip;  
        }  
    GetIP();  
    ?>  

 本文由用戶 mmxn 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!