[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