php中如何获取客户端IP地址

HTTP_CLIENT_IP 是代理服务器发送的HTTP头。如果是“超级匿名代理”,则返回none值。同样,REMOTE_ADDR也会被替换为这个代理服务器的IP。

$_SERVER[‘REMOTE_ADDR’]; //访问端(有可能是用户,有可能是代理的)IP

$_SERVER[‘HTTP_CLIENT_IP’]; //代理端的(有可能存在,可伪造)

$_SERVER[‘HTTP_X_FORWARDED_FOR’]; //用户是在哪个IP使用的代理(有可能存在,也可以伪造)

php中如何获取客户端IP地址》有2个想法

  1. 之前PHP7遇到错误:
    2023/02/26 12:41:56 [error] 1929#0: *5189 FastCGI sent in stderr: “PHP Notice: Undefined index: HTTP_X_FORWARDED_FOR in /usr/local/nginx/pubhtml/index.php on line 79” while reading response header from upstream, client: 118.10.20.10, server: localhost, request: “GET / HTTP/1.1”, upstream: “fastcgi://127.0.0.1:9000”, host: “110.121.0.131”
    后来发现安装了php的其他组件就好了。很奇怪!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注