Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

php 获取ip

作者:断念已残   发布日期:2026-03-21   浏览:93

<?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();
?>

解释说明:

  1. $_SERVER['HTTP_X_FORWARDED_FOR']: 当客户端通过代理服务器访问时,代理服务器通常会在请求头中添加 X-Forwarded-For 字段,其中包含客户端的真实IP地址。如果有多个代理,IP地址可能会以逗号分隔。
  2. $_SERVER['HTTP_CLIENT_IP']: 一些代理服务器或负载均衡器可能会设置这个字段来传递客户端的IP地址。
  3. $_SERVER['REMOTE_ADDR']: 这是最直接的方式,表示与服务器直接建立连接的客户端IP地址。如果没有通过代理服务器,这就是客户端的真实IP地址。

通过这种方式,代码可以尽可能准确地获取客户端的真实IP地址。

上一篇:php openssl_encrypt

下一篇:php随机数

大家都在看

php session用法

php 定义常量

php soapclient

phpisset函数

php html转图片

php后端

php爬虫框架

php多线程与并发

php读取csv文件

php+mysql动态网站开发

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站