<?php
// 获取客户端IP地址的函数
function get_client_ip() {
// 检查是否有通过代理服务器传递的IP地址
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
// 如果存在多个IP地址,取第一个作为客户端IP
$ip = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR'])[0];
} elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
// 检查是否有通过代理服务器传递的客户端IP
$ip = $_SERVER['HTTP_CLIENT_IP'];
} else {
// 直接获取客户端IP地址
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
// 调用函数并输出IP地址
echo "客户端IP地址是: " . get_client_ip();
?>
$_SERVER['HTTP_X_FORWARDED_FOR']
:当客户端通过代理服务器访问时,代理服务器会在请求头中添加 X-Forwarded-For
字段,记录客户端的真实IP地址。$_SERVER['HTTP_CLIENT_IP']
:某些代理服务器可能会使用这个字段来传递客户端IP。$_SERVER['REMOTE_ADDR']
:如果没有通过代理服务器,直接获取客户端的IP地址。explode()
:如果有多个IP地址(例如多个代理),我们只取第一个IP地址作为客户端的真实IP。这段代码可以帮助你准确地获取客户端的IP地址,无论是否经过代理服务器。
上一篇:php数组随机抽取
下一篇:php 字符长度
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站