一直以来有个烦恼就是使用了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];
}

解决后效果如图