📅  最后修改于: 2023-12-03 15:11:44.784000             🧑  作者: Mango
在 PHP 中,如何获取客户端 IP 地址?
要获取客户端 IP 地址,可以通过如下代码获取:
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 地址会被记录在 HTTP_X_FORWARDED_FOR
中,否则就直接获取 REMOTE_ADDR
。
需要注意的是,由于客户端可以伪造请求头,所以此方法并不可靠,可能会导致获取到错误的 IP 地址。如果需要更可靠的 IP 获取方式,可以考虑使用 HTTPS,或者在应用层中加入用户认证等措施。
PHP 中获取客户端 IP 地址的方法是通过 $_SERVER 变量获取,其中 HTTP_CLIENT_IP、HTTP_X_FORWARDED_FOR、REMOTE_ADDR 分别代表了客户端 IP 地址的三种获取方式。尽管此方法并不完全可靠,但是在大多数情况下都是能够获取到正确 IP 的。