网站使用CDN后无法获取用户真实IP的解决方法

    热度:℃      作者:wdzzz.com

宝塔或Nginx环境

如果你使用的宝塔或Nginx,可以在宝塔面板或Nginx中,找到配置文件增加如下代码后,重载配置或者重启 Nginx 即可:

#CDN获取真实ipset_real_ip_from0.0.0.0/0;real_ip_headerX-Forwarded-For;

网站使用CDN后无法获取用户真实IP的解决方法

PHP语言函数方法

如果你使用的PHP语言,可以使用以下函数解决获取不到真实IP问题。

functionGetClientIP(){$ip=$_SERVER["HTTP_X_FORWARDED_FOR"];if($ip!=""){$arr=explode(",",$ip);return$arr[0];}else{return$_SERVER["REMOTE_ADDR"];}}

完整示例代码:

<?php$real_ip='';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]);}$real_ip=trim($arr[0]);}elseif(isset($_SERVER['HTTP_CLIENT_IP'])){$real_ip=$_SERVER['HTTP_CLIENT_IP'];}elseif(isset($_SERVER['REMOTE_ADDR'])){$real_ip=$_SERVER['REMOTE_ADDR'];}

来源:本文由互联网原创撰写,欢迎分享本文,转载请保留出处和链接!部分信息来源互联网,如有侵权,请联系删除。