获取客户端真实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];
    }
相关文章
|
27天前
获取请求的主机的系统以及Ip地址
获取请求的主机的系统以及Ip地址
13 1
|
4天前
|
Java Python
如何设置代理ip服务器地址
如何设置代理ip服务器地址
|
26天前
|
域名解析 网络协议 搜索推荐
阿里云DNS常见问题之获取不到用户真实IP地址如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
9月前
|
边缘计算 运维 负载均衡
获取客户端真实 IP 地址的最佳实践
翻遍整个互联网,几乎没有文章能把 “获取客户的真实 IP 地址” 这个看起来很简单的事情捋清楚、讲明白,更不用说最佳实践。这篇文章也是我在这段时间的研究中总结出来的宝贵经验,希望对读者能有些许帮助。
504 1
|
9月前
|
PHP
PHP函数获取完整的真实的IP地址
PHP函数获取完整的真实的IP地址
73 0
|
10月前
|
域名解析 存储 负载均衡
实现服务器多IP的实现方法
实现服务器多IP的实现方法
276 1
|
Java 应用服务中间件 Apache
JavaWeb - 获取访问者真实的 IP 地址(一)
JavaWeb - 获取访问者真实的 IP 地址(一)
482 0
获取客户端真是IP地址
获取客户端真是IP地址
86 0
【计算机网络】网络层 : 移动 IP 技术 ( 移动节点 | 本地代理 | 外部代理 | 永久地址 | 转交地址 | 移动 IP 通信过程 )
【计算机网络】网络层 : 移动 IP 技术 ( 移动节点 | 本地代理 | 外部代理 | 永久地址 | 转交地址 | 移动 IP 通信过程 )
889 0
|
Java Apache
获取服务器真实ip
前置条件
1490 0