以下是单PHP文件代码
<?php
// 检查是否通过代理服务器访问
if (!empty($_SERVER[‘HTTP_CLIENT_IP’])) {
$ip = $_SERVER[‘HTTP_CLIENT_IP’];
} elseif (!empty($_SERVER[‘HTTP_X_FORWARDED_FOR’])) {
$ip = $_SERVER[‘HTTP_X_FORWARDED_FOR’];
} else {
$ip = $_SERVER[‘REMOTE_ADDR’];
}
// 显示IP地址
echo htmlspecialchars($ip, ENT_QUOTES, ‘UTF-8’);
?>

解释:
-
$_SERVER['HTTP_CLIENT_IP']:有时用于共享的互联网访问,例如通过某些代理服务器。 -
$_SERVER['HTTP_X_FORWARDED_FOR']:通过代理服务器时的原始IP地址。 -
$_SERVER['REMOTE_ADDR']:直接访问时的IP地址。
安全注意事项:
- 使用
htmlspecialchars函数对用户输出的内容进行转义,以防止XSS(跨站脚本攻击)。 - IP地址可以被伪造,特别是当请求通过不受信任的代理服务器发送时。因此,不要依赖IP地址进行安全相关的决策。
将上述代码保存为一个PHP文件(例如 show_ip.php),然后在服务器上执行它,访问该文件时就会显示访问者的IP地址。







