WHMCS排错:启用CDN后后台无限登录解决方法

2023年8月11日 | 分类: 【源码】

给一个whmcs网站用了全站的cdn,不知道是不是这个cdn的问题,反正上之后,网站后台就无限登录了。
用的Any cast技术的cdn,也是为了防御吧,虽然后端真实ip用的100G防御,但是为了速度,只好再用上cdn了。

只有一个关于用本地文件获取真实ip的方法。
按照php获取真实ip来修改了。

修改configuration.php文件

$_SERVER[‘REMOTE_ADDR’] = $_SERVER[‘HTTP_X_FORWARDED_FOR’]; // 获取真实IP
list($_SERVER[‘REMOTE_ADDR’]) = explode(‘, ‘, $_SERVER[‘REMOTE_ADDR’], 2); // 可能通过多个代理,其中第一个为真实ip地址
$_SERVER[‘HTTP_X_FORWARDED_FOR’] = $_SERVER[‘REMOTE_ADDR’]; // 添加到WHMCS IP变量

参考:https://cloud.tencent.com/developer/article/1050229

各位站长在搭建了之后,会有部分站长朋友会考虑使用为网站加速,但用了可就是个坑啊,会产生某些小问题的出现。
众所周知,whmcs内置了一个访客ip判断机制,如果ip对应不上就会导致许多操作都产生问题,最重要的就属登录了,不仅仅是前台登录还是后台管理员登录,都会登录不上!
具体症状:账号密码错误的情况下会正常提示密码错误,账号密码正确的情况下会刷新一下网页,然后就没有然后了。。。

那么该如何解决这个问题呢?
其实很简单,只需要简单三行代码搞定:

打开网站根目录,找到configuration.php文件,添加以下代码即可

$_SERVER[‘REMOTE_ADDR’] = $_SERVER[‘_X_FORWARDED_FOR’]; // 获取真实IP
list($_SERVER[‘REMOTE_ADDR’]) = explode(‘, ‘, $_SERVER[‘REMOTE_ADDR’], 2); // 可能通过多个代理,其中第一个为真实ip地址
$_SERVER[‘HTTP_X_FORWARDED_FOR’] = $_SERVER[‘REMOTE_ADDR’]; // 添加到WHMCS IP变量

参考:https://whmcszh.com/archives/888

自己做的网站一直被ddos,cc攻击,无奈只能换了ip套上cdn
原本以为套上cdn万事大吉,没想到就遇到了问题,后台登录不上去,前台登录也无用。
百度了一圈,大部分都是PHP文件被缓存,我在cdn关闭了PHP文件缓存,然后苦苦的网上搜了半天才找到解决方案
在configuration.php加上

$_SERVER[‘REMOTE_ADDR’] = $_SERVER[‘HTTP_X_FORWARDED_FOR’]; // 获取真实IP
list($_SERVER[‘REMOTE_ADDR’]) = explode(‘, ‘, $_SERVER[‘REMOTE_ADDR’], 2); // 可能通过多个代理,其中第一个为真实ip地址
$_SERVER[‘HTTP_X_FORWARDED_FOR’] = $_SERVER[‘REMOTE_ADDR’]; // 添加到WHMCS IP变量

后台常规设置–>安全 禁用session ip检查

设置好之后即可解决所有问题

参考:https://cloud.tencent.com/developer/article/1615300