博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取真实IP地址
阅读量:5371 次
发布时间:2019-06-15

本文共 1327 字,大约阅读时间需要 4 分钟。

/** * 获得用户的真实IP地址 * * @return  string */function getRealip(){    static $realip = NULL;    if ($realip !== NULL)    {        return $realip;    }    if (isset($_SERVER))    {        if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))        {            $arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);            /* 取X-Forwarded-For中第一个非unknown的有效IP字符串 */            foreach ($arr AS $ip)            {                $ip = trim($ip);                if ($ip != 'unknown')                {                    $realip = $ip;                    break;                }            }        }        elseif (isset($_SERVER['HTTP_CLIENT_IP']))        {            $realip = $_SERVER['HTTP_CLIENT_IP'];        }        else        {            if (isset($_SERVER['REMOTE_ADDR']))            {                $realip = $_SERVER['REMOTE_ADDR'];            }            else            {                $realip = '0.0.0.0';            }        }    }    else    {        if (getenv('HTTP_X_FORWARDED_FOR'))        {            $realip = getenv('HTTP_X_FORWARDED_FOR');        }        elseif (getenv('HTTP_CLIENT_IP'))        {            $realip = getenv('HTTP_CLIENT_IP');        }        else        {            $realip = getenv('REMOTE_ADDR');        }    }    return $realip;}

  

转载于:https://www.cnblogs.com/WhiteCusp/p/3543907.html

你可能感兴趣的文章
mysql 同一个表中 字段a 的值赋值到字段b
查看>>
antiSMASH数据库:微生物次生代谢物合成基因组簇查询和预测
查看>>
UNICODE与ANSI的区别
查看>>
nginx 配置实例
查看>>
Flutter - 创建底部导航栏
查看>>
ASP.NET MVC 教程-MVC简介
查看>>
SQL Server索引 - 聚集索引、非聚集索引、非聚集唯一索引 <第八篇>
查看>>
转载:详解SAP TPM解决方案在快速消费品行业中的应用
查看>>
Android OpenGL ES 开发(N): OpenGL ES 2.0 机型兼容问题整理
查看>>
项目中用到的技术及工具汇总(持续更新)
查看>>
【算法】各种排序算法测试代码
查看>>
HDU 5776 Sum
查看>>
201521123044 《Java程序设计》第9周学习总结
查看>>
winfrom 图片等比例压缩
查看>>
人工智能实验报告一
查看>>
用LR12录制app,用LR11跑场景,无并发数限制,已试验过,可行!
查看>>
python 多线程就这么简单(转)
查看>>
oracle 简述
查看>>
ajax如何向后台传递数组,在后台该如何接收的问题(项目积累)
查看>>
Solr之java实现增删查操作
查看>>