PHP 获取客户端 IP 地址的方法实例代码
程序员文章站
2022-06-29 15:25:02
先来了解一个变量的含义:
$_server['remote_addr']:浏览当前页面的用户计算机的ip地址
$_server['http_client_ip']:客户...
先来了解一个变量的含义:
$_server['remote_addr']:浏览当前页面的用户计算机的ip地址
$_server['http_client_ip']:客户端的ip
$_server['http_x_forwarded_for']:浏览当前页面的用户计算机的网关
$_server['http_x_real_ip']:nginx 代理模式下,获取客户端真实ip
/** * 获取客户端ip地址 */ function real_ip() { $ip = $_server['remote_addr']; if (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)) { foreach ($matches[0] as $xip) { if (!preg_match('#^(10|172\.16|192\.168)\.#', $xip)) { $ip = $xip; break; } } } elseif (isset($_server['http_client_ip']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_server['http_client_ip'])) { $ip = $_server['http_client_ip']; } elseif (isset($_server['http_cf_connecting_ip']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_server['http_cf_connecting_ip'])) { $ip = $_server['http_cf_connecting_ip']; } elseif (isset($_server['http_x_real_ip']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_server['http_x_real_ip'])) { $ip = $_server['http_x_real_ip']; } return $ip; }
总结
以上所述是小编给大家介绍的php 获取客户端 ip 地址的方法实例代码,希望对大家有所帮助
上一篇: Opencv实现眼睛控制鼠标的实践