我将IP存储到以前在char(15)下工作的数据库,最近我得到越来越多的IP看起来像这样:
'172.29.93.25,94.56.207.248'
但大多数条目看起来还不错。这不到所有案例的1%。
我正在使用的命令:
$ip = $_SERVER['REMOTE_ADDR']
以上IP对我来说看起来不像IPv6,而是像两个以逗号分隔的IPv4。这怎么可能?
答案 0 :(得分:4)
第一个IPv4地址可能是负载均衡器的内部IP地址。第二个IPv4地址可能是客户端的IP地址,可能包含在X-Forwarded-For
http header中的负载均衡器中。
我看到您已编辑了该问题,并使用10.x.x.x
IP地址替换了一个示例,其中包含一个具有172.x.x.x
IP地址的新示例。在这种新情况下,第一个IP可以是代理服务器。通常,您可以在此字段中使用以逗号分隔的IP地址列表,该列表可以任意长,并且它代表请求所经历的所有代理和负载均衡器。最后一个IP地址是始发客户端的IP。
答案 1 :(得分:1)
第一个地址是10.10
地址,这意味着它是一个非路由地址。这是一个负载均衡器,或者您有一个虚拟机(即亚马逊AWS),它具有通过某个网关到达互联网的非公共地址。
答案 2 :(得分:1)
第一个地址是私人地址,您可以了解address allocation for private internets here。