Tengo muchos proyectos con funcionalidades que dependen de las direcciones IP proporcionadas por $_SERVER['REMOTE_ADDR]
, $_SERVER['HTTP_X_FORWARDED_FOR']
y $_SERVER['CLIENT_IP']
.
Las direcciones IPV4 son fáciles de combinar, ya que siempre las recibimos en el mismo formato: 4 números enteros sin los 0 principales, separados por un punto .
.
Considerando que las direcciones IPV6 se pueden comprimir. Ej: FF01: 0: 0: 0: 0: 0: 0: 101 -> FF01 :: 101
He estado investigando este problema pero no he encontrado nada relevante, entonces estoy pidiendo tu experiencia . ¿Es $_SERVER['REMOTE_ADDR]
usando un estándar? ¿Es seguro suponer que siempre se recibirá comprimido o sin comprimir?
¿O debería comprimir toda mi cadena IPV6 antes de intentar probarlas?
Nota:
Tu lugar ideal para manejar direcciones IPv6 como cadenas en lugar de estructura binaria, para mejorar la legibilidad de las bases de datos de código/Fuente y permitir fácil adaptación rango de IP.
No he trabajado con IPv6, pero tengo la impresión de que debe 'inet_pton()' cualquier dirección que desee manipular. –
@ ÁlvaroG.Vicario Gracias por el comentario, definitivamente investigaré esta función. Pero me gustaría mantener la notación de cuerdas si es posible. – Tchoupi