成长值: 945
签到天数: 4940 天 [LV.Master]伴坛终老
|
发表于 2025/7/14 02:23
|
显示全部楼层
|阅读模式
| Google Chrome 138.0.0.0 | Windows 10
nexusphp使用cf cdn后,无法获取到pt站用户当前真实ip解决办法,HTTP_X_FORWARDED_FOR只获取第一个xff地址
include文件夹打开文件globalfunctions.php
源代码
- function getip() {
- if (isset($_SERVER)) {
- if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && validip($_SERVER['HTTP_X_FORWARDED_FOR'])) {
- $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
- } elseif (isset($_SERVER['HTTP_CLIENT_IP']) && validip($_SERVER['HTTP_CLIENT_IP'])) {
- $ip = $_SERVER['HTTP_CLIENT_IP'];
- } else {
- $ip = $_SERVER['REMOTE_ADDR'];
- }
- } else {
- if (getenv('HTTP_X_FORWARDED_FOR') && validip(getenv('HTTP_X_FORWARDED_FOR'))) {
- $ip = getenv('HTTP_X_FORWARDED_FOR');
- } elseif (getenv('HTTP_CLIENT_IP') && validip(getenv('HTTP_CLIENT_IP'))) {
- $ip = getenv('HTTP_CLIENT_IP');
- } else {
- $ip = getenv('REMOTE_ADDR');
- }
- }
- return $ip;
- }
复制代码
新代码
- function getip() {
- if (isset($_SERVER)) {
- if (isset($_SERVER['HTTP_CLIENT_IP']) && validip($_SERVER['HTTP_CLIENT_IP'])) {
- $ip = $_SERVER['HTTP_CLIENT_IP'];
- } 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)) {
- $ip = $matches[0][0];
- } else {
- $ip = $_SERVER['REMOTE_ADDR'];
- }
- } else {
- if (getenv('HTTP_CLIENT_IP') && validip(getenv('HTTP_CLIENT_IP'))) {
- $ip = getenv('HTTP_CLIENT_IP');
- } 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)) {
- $ip = $matches[0][0];
- } else {
- $ip = getenv('REMOTE_ADDR');
- }
- }
- return $ip;
- }
复制代码
|
|