php中如何获取客户端IP地址 在 2023年2月27日 上张贴 由 zhaoxw2条评论 HTTP_CLIENT_IP 是代理服务器发送的HTTP头。如果是“超级匿名代理”,则返回none值。同样,REMOTE_ADDR也会被替换为这个代理服务器的IP。 $_SERVER[‘REMOTE_ADDR’]; //访问端(有可能是用户,有可能是代理的)IP $_SERVER[‘HTTP_CLIENT_IP’]; //代理端的(有可能存在,可伪造) $_SERVER[‘HTTP_X_FORWARDED_FOR’]; //用户是在哪个IP使用的代理(有可能存在,也可以伪造)
之前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的其他组件就好了。很奇怪! 回复
之前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的其他组件就好了。很奇怪!
如果访问的客户端没有经过nat转换,而是内网直接访问,就会报这个错误。