吴先森
为退烧而生
吴先森的笔记
ThinkPHP获取CDN后的真实IP
ThinkPHP获取CDN后的真实IP

最近,写了一个项目,可是,记录的IP全都是CDN的IP,没办法,只能想办法

百度上的,我运行了一下,基本上都会导致程序出错,会500

结合WordPress获取真实IP的方法,成功获取了真实用户IP

//获取真实IP
function get_real_ip(){  
    static $realip;  
    if(isset($_SERVER)){  
        if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){  
            $realip=$_SERVER['HTTP_X_FORWARDED_FOR'];  
        }else if(isset($_SERVER['HTTP_CLIENT_IP'])){  
            $realip=$_SERVER['HTTP_CLIENT_IP'];  
        }else{  
            $realip=$_SERVER['REMOTE_ADDR'];  
        }  
    }else{  
        if(getenv('HTTP_X_FORWARDED_FOR')){  
            $realip=getenv('HTTP_X_FORWARDED_FOR');  
        }else if(getenv('HTTP_CLIENT_IP')){  
            $realip=getenv('HTTP_CLIENT_IP');  
        }else{  
            $realip=getenv('REMOTE_ADDR');  
        }  
    }  
    return $realip;  
}  
$_SERVER['REMOTE_ADDR'] = get_real_ip();

效果如下

这篇文章在我草稿箱很久了,今天我看到发出来。因为时间很久了,忘记有没有错误,所有有错误请指出,谢谢啦!

吴先森

文章作者

为退烧而生!

发表评论

textsms
account_circle
email

吴先森的笔记

ThinkPHP获取CDN后的真实IP
最近,写了一个项目,可是,记录的IP全都是CDN的IP,没办法,只能想办法 百度上的,我运行了一下,基本上都会导致程序出错,会500 结合WordPress获取真实IP的方法,成功获取了…
扫描二维码继续阅读
2019-12-10