2011-07-22 16 views
85

Duplicar posible:
Function to get user ip addressmanera definitiva para obtener la dirección IP del usuario php

<?PHP 

$ipaddress = $_SERVER["REMOTE_ADDR"]; 

echo "Your IP is $ipaddress!"; 

?> 

me dijeron esta manera de obtener la dirección IP tiene problemas tales como ser capaz de engañar. ¿Hay una mejor manera de recopilar la dirección IP? Buscando tutoriales de una mejor manera de obtener la dirección IP?

+1

No, no es! Podría ser capaz de engañarlo, pero nunca lo he visto en la práctica o leído que se está haciendo en las masas. – Shef

+3

@genesis - pero esta pregunta está un poco desordenada y no tan clara. Creo que no hay necesidad de usar nada más que $ _SERVER ["REMOTE_ADDR"]. No hay nada mejor El engaño de la dirección IP se haría a nivel de IP, por lo que no hay manera de que pueda resolverlo/detectarlo en PHP. – TMS

Respuesta

142

$_SERVER['REMOTE_ADDR'] es la única dirección IP confiable que obtendrá - se extrae directamente de la pila TCP y es donde la conexión actual se estableció a partir. Esto significa que si el usuario se está conectando a través de un proxy, obtendrá la dirección del proxy, no la del usuario.

Cualquiera de los otros basados ​​en el encabezado no son fiables, como los encabezados HTTP son triviales de falsificar. Puede usar la información de ellos, si lo desea, siempre y cuando no CONFÍE en ella.

Cuestiones relacionadas