首頁 > 後端開發 > php教程 > 取得使用者真實IP位址的php程式碼

取得使用者真實IP位址的php程式碼

WBOY
發布: 2016-07-25 09:00:23
原創
910 人瀏覽過
获取用户真实IP地址的php代码,供大家学习参考。 代码如下:
<?php       
    /** 
     * 获得用户的真实IP地址 
     * 
     * @return  string 
     */  
    function real_ip(){  
        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中第一个非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 = !emptyempty($onlineip[0]) ? $onlineip[0] : '0.0.0.0';  
       
        return $realip;  
    }  
    ?>
登入後複製


來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板