以奇怪的格式获取PHP IP

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以奇怪的格式获取PHP IP相关的知识,希望对你有一定的参考价值。

某些ips的格式为此格式

2600:646:8381:b627:71c1:bdf8:d

用于检索ip的代码

function get_ip_address(){
    foreach (array('HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR') as $key){
        if (array_key_exists($key, $_SERVER) === true){
            foreach (explode(',', $_SERVER[$key]) as $ip){
                $ip = trim($ip); // just to be safe

                if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) !== false){
                    return $ip;
                }
            }
        }
    }
}

如果我只使用$_SERVER['REMOTE_ADDR']获得相同的值。不知道为什么它会为某些ips做这个或者这是什么格式。如果客户端以此格式返回相同的值,则无关紧要,因为我只需要一个唯一的标识符。谢谢。

答案

IPv6在这里;)

这是一种“新”的IP地址格式。

以上是关于以奇怪的格式获取PHP IP的主要内容,如果未能解决你的问题,请参考以下文章

超实用的php代码片段

php获取ip

PHP禁止同一IP频繁访问以防止网站被防攻击或采集的代码

获取变量以传递给php格式

使用奇怪的 JSON 文件格式查找汇率键值

超级有用的9个PHP代码片段