获取客户端真实IP地址

简介: 获取客户端真实IP地址
function get_client_ip($type = 0,$client=true)
    {
        $type       =  $type ? 1 : 0;
        static $ip  =   NULL;
        if ($ip !== NULL) return $ip[$type];
        if($client){
            if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
                $arr    =   explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
                $pos    =   array_search('unknown',$arr);
                if(false !== $pos) unset($arr[$pos]);
                $ip     =   trim($arr[0]);
            }elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
                $ip     =   $_SERVER['HTTP_CLIENT_IP'];
            }elseif (isset($_SERVER['REMOTE_ADDR'])) {
                $ip     =   $_SERVER['REMOTE_ADDR'];
            }
        }elseif (isset($_SERVER['REMOTE_ADDR'])) {
            $ip     =   $_SERVER['REMOTE_ADDR'];
        }
        // 防止IP伪造
        $long = sprintf("%u",ip2long($ip));
        $ip   = $long ? array($ip, $long) : array('0.0.0.0', 0);
        return $ip[$type];
    }
相关文章
|
8月前
获取请求的主机的系统以及Ip地址
获取请求的主机的系统以及Ip地址
36 1
|
弹性计算 Shell Linux
Apache 获取真实IP地址方法
测试环境 IP相关信息 VPC环境ECS内网IP:10.0.xx.177ECS公网IP:121.196.xx.22SLB的IP:118.178.xx.145 http监听 80端口 WAF测试域名:test.
4357 0
|
2月前
|
前端开发 应用服务中间件 定位技术
Nginx 如何代理转发传递真实 ip 地址?
【10月更文挑战第32天】
340 5
Nginx 如何代理转发传递真实 ip 地址?
|
3月前
获取客户端IP地址
获取客户端IP地址
42 0
|
4月前
|
JavaScript 应用服务中间件 Apache
获取客户端的IP地址
获取客户端的IP地址
|
8月前
|
Java Python
如何设置代理ip服务器地址
如何设置代理ip服务器地址
140 0
|
边缘计算 运维 负载均衡
获取客户端真实 IP 地址的最佳实践
翻遍整个互联网,几乎没有文章能把 “获取客户的真实 IP 地址” 这个看起来很简单的事情捋清楚、讲明白,更不用说最佳实践。这篇文章也是我在这段时间的研究中总结出来的宝贵经验,希望对读者能有些许帮助。
970 1
|
域名解析 存储 负载均衡
实现服务器多IP的实现方法
实现服务器多IP的实现方法
406 1
|
PHP
PHP函数获取完整的真实的IP地址
PHP函数获取完整的真实的IP地址
111 0
获取客户端真是IP地址
获取客户端真是IP地址
115 0

热门文章

最新文章