设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 12|回复: 0

nexusphp使用cf cdn后,无法获取到pt站用户当前真实ip解决办法,HTTP_X_FORWARDED_FOR只获取第一个xff地址

[复制链接]
 成长值: 945

签到天数: 4940 天

[LV.Master]伴坛终老

发表于 2025/7/14 02:23 | 显示全部楼层 |阅读模式 |Google Chrome 138.0.0.0|Windows 10
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
nexusphp使用cf cdn后,无法获取到pt站用户当前真实ip解决办法,HTTP_X_FORWARDED_FOR只获取第一个xff地址

include文件夹打开文件globalfunctions.php
源代码
  1. function getip() {
  2.         if (isset($_SERVER)) {
  3.                 if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && validip($_SERVER['HTTP_X_FORWARDED_FOR'])) {
  4.                         $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
  5.                 } elseif (isset($_SERVER['HTTP_CLIENT_IP']) && validip($_SERVER['HTTP_CLIENT_IP'])) {
  6.                         $ip = $_SERVER['HTTP_CLIENT_IP'];
  7.                 } else {
  8.                         $ip = $_SERVER['REMOTE_ADDR'];
  9.                 }
  10.         } else {
  11.                 if (getenv('HTTP_X_FORWARDED_FOR') && validip(getenv('HTTP_X_FORWARDED_FOR'))) {
  12.                         $ip = getenv('HTTP_X_FORWARDED_FOR');
  13.                 } elseif (getenv('HTTP_CLIENT_IP') && validip(getenv('HTTP_CLIENT_IP'))) {
  14.                         $ip = getenv('HTTP_CLIENT_IP');
  15.                 } else {
  16.                         $ip = getenv('REMOTE_ADDR');
  17.                 }
  18.         }

  19.         return $ip;
  20. }
复制代码

新代码
  1. function getip() {
  2.         if (isset($_SERVER)) {
  3.                 if (isset($_SERVER['HTTP_CLIENT_IP']) && validip($_SERVER['HTTP_CLIENT_IP'])) {
  4.                         $ip = $_SERVER['HTTP_CLIENT_IP'];
  5.                 } elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches)) {
  6.                         $ip = $matches[0][0];
  7.                 } else {
  8.                         $ip = $_SERVER['REMOTE_ADDR'];
  9.                 }
  10.         } else {
  11.                 if (getenv('HTTP_CLIENT_IP') && validip(getenv('HTTP_CLIENT_IP'))) {
  12.                         $ip = getenv('HTTP_CLIENT_IP');
  13.                 } elseif (getenv('HTTP_X_FORWARDED_FOR') && preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s', getenv('HTTP_X_FORWARDED_FOR'), $matches)) {
  14.             $ip = $matches[0][0];
  15.                 } else {
  16.                         $ip = getenv('REMOTE_ADDR');
  17.                 }
  18.         }

  19.         return $ip;
  20. }
复制代码


欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2025/7/14 09:52 , Processed in 0.116504 second(s), 20 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表