getHeaderLine('x-forwarded-for'); if (self::verifyIp($ip_addr)) { return $ip_addr; } $ip_addr = $request->getHeaderLine('remote-host'); if (self::verifyIp($ip_addr)) { return $ip_addr; } $ip_addr = $request->getHeaderLine('x-real-ip'); if (self::verifyIp($ip_addr)) { return $ip_addr; } $ip_addr = $request->getServerParams()['remote_addr'] ?? '0.0.0.0'; if (self::verifyIp($ip_addr)) { return $ip_addr; } return '0.0.0.0'; } /** * 验证ip * @param $realIp * @return mixed */ static function verifyIp($realIp): mixed { return filter_var($realIp, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4); } }