Я храню IP-адреса в БД, которая раньше работала в char (15), в последнее время я получаю все больше и больше IP-адресов, которые выглядят так:
«172.29.93.25, 94.56.207.248»
Большинство записей выглядит хорошо, хотя. Это менее 1% всех случаев.
Команда, которую я использую:
$ip = $_SERVER['REMOTE_ADDR']
Приведенный выше IP не похож на IPv6 для меня, а скорее на два IPv4, разделенных запятой. Как это возможно?
Первый IPv4-адрес, вероятно, является внутренним IP-адресом балансировщика нагрузки. Второй IPv4-адрес, вероятно, является IP-адресом клиента и, вероятно, был включен балансировщиком нагрузки в X-Forwarded-For
заголовок http.
Я вижу, вы отредактировали вопрос и заменили пример на 10.x.x.x
IP-адрес с новым примером, который имеет 172.x.x.x
Айпи адрес. В этом новом случае первым IP-адресом может быть прокси-сервер. В общем случае в этом поле можно указать список IP-адресов, разделенных запятыми, который может быть произвольно длинным, и он представляет все прокси и балансировщики нагрузки, через которые прошел запрос. Последний IP-адрес — это IP-адрес клиента.
Первый адрес 10.10
адрес, то есть это адрес без маршрутизации. Либо это балансировщик нагрузки, либо у вас есть виртуальная машина (например, Amazon AWS) с непубличным адресом, который подключается к Интернету через некоторый шлюз.
Первый адрес является частным адресом, вы можете узнать о распределение адресов для частных интернетов здесь.