zoukankan      html  css  js  c++  java
  • 获取真实IP

    获取真实IP

    /**  
         * ---------------------------------------------------------------------
         * 获取真实IP  
         * @param int $type  
         * @param bool $client  
         * ---------------------------------------------------------------------
         */  
        function get_client_ip($type = 0,$client=true){  
            $type       =  $type ? 1 : 0;  
            static $ip  =   NULL;  
            if ($ip !== NULL) return $ip[$type];  
            if($client){  
                if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {  
                    $arr    =   explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);  
                    $pos    =   array_search('unknown',$arr);  
                    if(false !== $pos) unset($arr[$pos]);  
                    $ip     =   trim($arr[0]);  
                }elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {  
                    $ip     =   $_SERVER['HTTP_CLIENT_IP'];  
                }elseif (isset($_SERVER['REMOTE_ADDR'])) {  
                    $ip     =   $_SERVER['REMOTE_ADDR'];  
                }  
            }elseif (isset($_SERVER['REMOTE_ADDR'])) {  
                $ip     =   $_SERVER['REMOTE_ADDR'];  
            }  
            // 防止IP伪造  
            $long = sprintf("%u",ip2long($ip));  
            $ip   = $long ? array($ip, $long) : array('0.0.0.0', 0);  
            return $ip[$type];  
        }
  • 相关阅读:
    蒟蒻的填坑计划
    现在的状态....
    date modify
    set source
    image source
    simple auth
    net
    bridge
    iptable
    namespace
  • 原文地址:https://www.cnblogs.com/bluealine/p/11063008.html
Copyright © 2011-2022 走看看