首页 > CMS > Discuz > 正文

Discuz论坛使用CDN后无法获取用户真实IP的解决方法

2024-07-09 22:57:21
字体:
来源:转载
供稿:网友
 

private function _get_client_ip() {
$ip = $_SERVER['REMOTE_ADDR'];
if (isset($_SERVER['HTTP_CLIENT_IP']) && preg_match('/^([0-9]{1,3}/.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif(isset($_SERVER['HTTP_X_FORWARDED_FOR']) AND preg_match_all('#/d{1,3}/./d{1,3}/./d{1,3}/./d{1,3}#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches)) {
foreach ($matches[0] AS $xip) {
if (!preg_match('#^(10|172/.16|192/.168)/.#', $xip)) {
$ip = $xip;
break;
}
}
}
return $ip;
}

 

将其修改为:

 

复制代码
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表