2023-05-12 开启多语言插件支持……

DISCUZ!1X 使用CDN后获取真实IP方法

discuz 苏 demo 2504℃ 0评论

DX 修改如下文件 /source/class/class_core.php

懒人请下载  
class_core.rar

如果连接 不可以用,请尝试下面的办法:

修改办法,在class_core.php中:
以下为官方原始代码

function _get_client_ip1() {
$clientip = ”;
if(getenv(‘HTTP_CLIENT_IP’) && strcasecmp(getenv(‘HTTP_CLIENT_IP’), ‘unknown’)) {
$clientip = getenv(‘HTTP_CLIENT_IP’);
} elseif(getenv(‘HTTP_X_FORWARDED_FOR’) && strcasecmp(getenv(‘HTTP_X_FORWARDED_FOR’), ‘unknown’)) {
$clientip = getenv(‘HTTP_X_FORWARDED_FOR’);
} elseif(getenv(‘REMOTE_ADDR’) && strcasecmp(getenv(‘REMOTE_ADDR’), ‘unknown’)) {
$clientip = getenv(‘REMOTE_ADDR’);
} elseif(isset($_SERVER[‘REMOTE_ADDR’]) && $_SERVER[‘REMOTE_ADDR’] && strcasecmp($_SERVER[‘REMOTE_ADDR’], ‘unknown’)) {
$clientip = $_SERVER[‘REMOTE_ADDR’];
}

preg_match(“/[\d\.]{7,15}/”, $clientip, $clientipmatches);
$clientip = $clientipmatches[0] ? $clientipmatches[0] : ‘unknown’;
return $clientip;
}

复制代码
以下代码是在网上找到的,已经通过我的测试,请大家看看是否会出现其他问题。

function _get_client_ip()
global $_SERVER;
if (isset($_SERVER[“HTTP_X_FORWARDED_FOR”]))
{
$realip = $_SERVER[“HTTP_X_FORWARDED_FOR”];
}
elseif (isset($_SERVER[“HTTP_CLIENT_IP”]))
{
$realip = $_SERVER[“HTTP_CLIENT_IP”];
}
else
{
$realip = $_SERVER[“REMOTE_ADDR”];
}
return $realip;
}

打赏

转载请注明:苏demo的别样人生 » DISCUZ!1X 使用CDN后获取真实IP方法

   如果本篇文章对您有帮助,欢迎向博主进行赞助,赞助时请写上您的用户名。
支付宝直接捐助帐号oracle_lee@qq.com 感谢支持!
喜欢 (0)or分享 (0)