欢迎光临
我们一直在努力

解决sspanel使用cdn后无法获取真实ip

方法一:

一直以来有个烦恼就是使用了 cdn 后 sspanel 的后台 ip 统计就不准确了,无论谁登录都会记录 cdn 的 ip,而不是访客的真实 ip,原因其实很简单,因为我们通过了 cdn 这个代理来访问的网站,但其实 cdn 在请求网站数据时,会通过 HTTP_X_FORWARDED_FOR 附加真实访客的地址,我们只需要解析这个函数的内容就可以了,具体操作如下。

在 sspanel 目录下找到/app/Controllers/AuthController.php这个文件,并用 vim 打开,在所有的$loginip->ip=$_SERVER["REMOTE_ADDR"];前均添加下述语句即可。

if(isset($_SERVER[‘HTTP_X_FORWARDED_FOR’])){$list = explode(‘,’,$_SERVER[‘HTTP_X_FORWARDED_FOR’]);$_SERVER[‘REMOTE_ADDR’] = $list[0];}    
此处的标点符号请注意,将所有中文模式下的标点改为英文的标点

方法二:
在 sspanel 的配置文件中加入
if (isset($_SERVER['HTTP_CF_CONNECTING_IP']))
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP'];
方法来源:魔改的世界
某些魔改版自带的
在 ssp 的配置文件里面,最下面添加
#在套了 CDN 之后获取用户真实 ip,如果您不知道这是什么,请不要乱动
 
if ( isset($_SERVER["HTTP_X_FORWARDED_FOR"]) ) {
 
$list = explode("," , $_SERVER["HTTP_X_FORWARDED_FOR"]);
 
$_SERVER["REMOTE_ADDR"] = $list[0];
 
}
赞(0) 打赏
未经允许不得转载:罗刹 » 解决sspanel使用cdn后无法获取真实ip
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏