2012-09-24 37 views
6

Tengo un script PHP sentado en un servidor que es golpeado por varias máquinas diferentes en diferentes momentos a lo largo del día en base a cronjobs que están configurados en cada máquina Me gustaría saber la IP de las máquinas de fabricación de la solicitud y cuando se hace por un navegador, lo siguiente se ejecuta correctamente:

<?php 
    ... 
    echo $_SERVER['REMOTE_ADDR']; 
    ... 
?> 

Sin embargo, cuando se hace por dobleces o cualquier otra herramienta de línea de comandos que han intentado utilizar (lince incluido), termino con la siguiente basura:

2701:5:4a80:7d:2ee:8eff:5e61:801d

de la investigación que he hecho, este es el resultado de Apache no poblar la variable $_SERVER para las solicitudes recibidas que están hechos de la línea de comando.

REMOTE ADDR Issue with Cron Job

Alguien sabe de una manera de obtener las solicitudes de línea de comandos para jugar agradable con la variable $_SERVER o debería ir por otro camino?

Respuesta

10

Eso no es basura, esa es la dirección remota correcta. Alguien usó IPv6 para acceder a su servidor.

+0

Malo: - \ Alguna idea de cómo obtener la dirección IPv4 asociada? – TMan

+0

@TMan, no es posible. IPv4 e IPv6 no necesariamente tienen que tener algo que ver el uno con el otro. – Brad

+0

@TMan, Vea mi respuesta aquí: http://stackoverflow.com/a/12468102/362536 – Brad

Cuestiones relacionadas