以奇怪的格式获取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的主要内容,如果未能解决你的问题,请参考以下文章