<?php
// 获取客户端IP地址的函数
function get_client_ip() {
// 检查是否有代理传递的X-Forwarded-For头信息
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
// 如果存在,取第一个IP地址(可能是多个IP以逗号分隔)
$ip = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR'])[0];
} elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
// 检查是否有HTTP_CLIENT_IP头信息
$ip = $_SERVER['HTTP_CLIENT_IP'];
} else {
// 否则使用REMOTE_ADDR获取直接连接的客户端IP
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
// 调用函数并输出IP地址
echo "客户端IP地址是: " . get_client_ip();
?>
$_SERVER['HTTP_X_FORWARDED_FOR']: 当客户端通过代理服务器访问时,代理服务器通常会在请求头中添加 X-Forwarded-For 字段,其中包含客户端的真实IP地址。如果有多个代理,IP地址可能会以逗号分隔。$_SERVER['HTTP_CLIENT_IP']: 一些代理服务器或负载均衡器可能会设置这个字段来传递客户端的IP地址。$_SERVER['REMOTE_ADDR']: 这是最直接的方式,表示与服务器直接建立连接的客户端IP地址。如果没有通过代理服务器,这就是客户端的真实IP地址。通过这种方式,代码可以尽可能准确地获取客户端的真实IP地址。
下一篇:php随机数
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站