[prev in list] [next in list] [prev in thread] [next in thread] 

List:       php-general-es
Subject:    Re: [PHP-ES] Obtener IP real del Visitante
From:       hahmael <hahmael () gmail ! com>
Date:       2010-07-23 12:56:07
Message-ID: AANLkTiktvZboOsAYtdqLVX3gaR+=EGJQe75kurKYzX0y () mail ! gmail ! com
[Download RAW message or body]


Lucas gracias por tu respuesta, me queda la duda de la claves HTTP_CLIENT_IP
y HTTP_X_FORWARDED_FOR ya que se encuentran en muchos scripts pero en el
manual de PHP no aparecen. Tienes razon que el valor HTTP_REMOTE_ADDR no es
tomado del header sin embargo otros valores o la mayoria si son tomados, o
me equivoco?, un ejemplo seria: HTTP_ACCEPT_LANGUAGE, HTTP_USER_AGENT, etc.

Espero alguien pueda aportar algo mas.

Gracias.


2010/7/23 Lucas Crisman <kordero@gmail.com>

> Hahmael:
>
> Deberías tener en cuenta que estas claves del array $_SERVER no siempre se
> encuentran presentes. La clave HTTP_X_FORWARDED_FOR es utilizada para
> detectar si el cliente ha ingresado al sitio a traves de un proxy http,
> aunque también podría estar presente en caso de no ingresar por proxy. Por
> lo tanto lo ideal sería que previamente utilices la funcion isset().
>
> Desconozco de qué depende que se encuentren "seteadas" o no, también ignoro
> la diferencia entre las claves HTTP_CLIENT_IP y HTTP_REMOTE_ADDR, pero
> deberías tener en cuenta que no siempre se encuentran presentes (o al menos
> en mi experiencia, muchas veces me he encontrado con la ausencia de
> HTTP_CLIENT_IP Y HTTP_X_FORWARDED_FOR).
>
> Por otro lado, a modo de corrección, te aclaro que el valor de la variable
> HTTP_REMOTE_ADDR no es obtenido de headers http sino que su origen esta en
> el protocolo IP al realizarse la conexión con el servidor web.
>
> Saludos,
>
>
> On 22/07/2010 06:10 p.m., hahmael wrote:
>
>> Hola Saludo a todos, el día de hoy realmente son dos consultas.
>>
>> La primera es como ustedes obtienen u obtendrían la IP de un visitante,
>> alguna otra forma aparte de obtenerlo por el Array $_SERVER[] ?, este
>> Array
>> como bien sabemos almacena datos obtenidos de Header enviado por el
>> cliente.
>>
>> Alguien con un método o algo complementario para obtener en lo posible la
>> IP
>> real del cliente?, gracias.
>>
>> Por ultimo encontré esta función en Internet:
>>
>> ###################################################################
>>
>> function getRealIpAddr()
>> {
>>     if (!empty($_SERVER['HTTP_CLIENT_IP']))   //check ip from share
>> internet
>>     {
>>       $ip=$_SERVER['HTTP_CLIENT_IP'];
>>     }
>>     elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))   //to check ip
>> is pass from proxy
>>     {
>>       $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
>>     }
>>     else
>>     {
>>       $ip=$_SERVER['REMOTE_ADDR'];
>>     }
>>     return $ip;
>> }
>>
>> ###################################################################
>>
>> Hay algo curioso en la función anterior y es dos claves para el array
>> $_SERVER que haciendo un var_dump a este no aparecen o no existen, alguien
>> me confirma si HTTP_X_FORWADED FOR y HTTP_CLIENT_IP son de versiones
>> anteriores de PHP y en completo desuso y por eso no aparecen en esta
>> version
>> 5.., sino es así para que sirven o para que servían.
>>
>> Gracias a todos, hasta pronto.
>>
>>
>>
>>
>
>


-- 
Agradecido.

Hahmael Tâher.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic