Rumah > pembangunan bahagian belakang > tutorial php > 获取用户真实IP地址的php代码

获取用户真实IP地址的php代码

WBOY
Lepaskan: 2016-07-25 09:00:23
asal
907 orang telah melayarinya
获取用户真实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;  
    }  
    ?>
Salin selepas log masuk


sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan