WHMCS使用CDN后会显示CDN节点服务器IP,不显示用户的真实IP,如使用百度的CDN会显示百度CDN节点IP,如下图中用户访问IP显示:58.216.2.205,在百度会员内容分发网络CDN中的:工具>>IP检测 中还是显示为百度云节点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变量
还有个方法是在WHMCS网站后台>>系统设置>>常规设置>>安全,在Trusted Proxies里填上百度CDN提供的回源IP,查看用户访问的IP是和之前不同,但经百度工具检查这些IP也还是百度CDN节点IP。
以上方法都不能解决问题,只能利用编写代码方法解决。
解决方法:在includes/hooks中增加文件,写入以下代码
代码百度网盘下载链接: https://pan.baidu.com/s/1YBKZo-XGfRpCdKn_O4CKqA 提取码: wts4 ,无毒,上传至hooks中即可解决问题。