Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[OT] [PHP] $_SERVER['REMOTE_ADDR'] devuelve ip pública de mi lan

841 views
Skip to first unread message

Ariel Martín Bellio

unread,
May 28, 2013, 1:00:01 PM5/28/13
to
El siguiente script no me muestra la ip del navegador remoto. Desde
donde acceda me da la IP publica mía.

Antes funcionaba bien... dejó de funcionar a principios de mayo...

<?php

if( isset($_SERVER['HTTP_X_FORWARDED_FOR']) &&
$_SERVER['HTTP_X_FORWARDED_FOR'] != '' ) {

$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];

} else {

$ip = $_SERVER['REMOTE_ADDR'];

}

echo $ip;

?>

También probé con:

<?php

$ip = $_SERVER['REMOTE_ADDR'];
echo $ip;

?>

Y da mi IP publica en vez de la del browser remoto...

Variables:
http://www.ebiblio.com.ar/cacape.php

Desde ya muchas gracias,
sisisisol.vcf

Camaleón

unread,
May 28, 2013, 1:30:01 PM5/28/13
to
El Tue, 28 May 2013 13:59:28 -0300, Ariel Martín Bellio escribió:

> El siguiente script no me muestra la ip del navegador remoto. Desde
> donde acceda me da la IP publica mía.

(...)

$_SERVER[“REMOTE_ADDR”] gives server IP rather than visitor IP
http://stackoverflow.com/questions/4262081/serverremote-addr-gives-server-ip-rather-than-visitor-ip

Saludos,

--
Camaleón


--
To UNSUBSCRIBE, email to debian-user-s...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/ko2p5i$mio$1...@ger.gmane.org

Ariel Martín Bellio

unread,
May 28, 2013, 8:40:03 PM5/28/13
to
El 28/05/2013 02:22 p.m., Camaleón escribió:
> El Tue, 28 May 2013 13:59:28 -0300, Ariel Martín Bellio escribió:
>
>> El siguiente script no me muestra la ip del navegador remoto. Desde
>> donde acceda me da la IP publica mía.
> (...)
>
> $_SERVER[“REMOTE_ADDR”] gives server IP rather than visitor IP
> http://stackoverflow.com/questions/4262081/serverremote-addr-gives-server-ip-rather-than-visitor-ip
>
> Saludos,
>

En esa página no encontré una solución.

Saludos,
sisisisol.vcf

Camaleón

unread,
May 29, 2013, 10:20:01 AM5/29/13
to
El Tue, 28 May 2013 21:34:39 -0300, Ariel Martín Bellio escribió:

> El 28/05/2013 02:22 p.m., Camaleón escribió:
>> El Tue, 28 May 2013 13:59:28 -0300, Ariel Martín Bellio escribió:
>>
>>> El siguiente script no me muestra la ip del navegador remoto. Desde
>>> donde acceda me da la IP publica mía.
>> (...)
>>
>> $_SERVER[“REMOTE_ADDR”] gives server IP rather than visitor IP
>> http://stackoverflow.com/questions/4262081/serverremote-addr-gives-server-ip-rather-than-visitor-ip
>>
>>
>>
> En esa página no encontré una solución.

Pues yo diría que está ahí, pero hay que leer...

Saludos,

--
Camaleón


--
To UNSUBSCRIBE, email to debian-user-s...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/ko52gg$n1v$1...@ger.gmane.org

Ariel Martín Bellio

unread,
May 29, 2013, 1:20:01 PM5/29/13
to
El 29/05/2013 11:14 a.m., Camaleón escribió:
> El Tue, 28 May 2013 21:34:39 -0300, Ariel Martín Bellio escribió:
>
>> El 28/05/2013 02:22 p.m., Camaleón escribió:
>>> El Tue, 28 May 2013 13:59:28 -0300, Ariel Martín Bellio escribió:
>>>
>>>> El siguiente script no me muestra la ip del navegador remoto. Desde
>>>> donde acceda me da la IP publica mía.
>>> (...)
>>>
>>> $_SERVER[“REMOTE_ADDR”] gives server IP rather than visitor IP
>>> http://stackoverflow.com/questions/4262081/serverremote-addr-gives-server-ip-rather-than-visitor-ip
>>>
>>>
>>>
>> En esa página no encontré una solución.
> Pues yo diría que está ahí, pero hay que leer...
>
> Saludos,
>
¿Me podés decir cual es la solución? ya probé con los códigos que
publican en esa página y no funciona. ¿Vos ves otra cosa?

Saludos,
sisisisol.vcf

Camaleón

unread,
May 29, 2013, 1:50:02 PM5/29/13
to
El Wed, 29 May 2013 14:17:08 -0300, Ariel Martín Bellio escribió:

> El 29/05/2013 11:14 a.m., Camaleón escribió:
>> El Tue, 28 May 2013 21:34:39 -0300, Ariel Martín Bellio escribió:
>>
>>> El 28/05/2013 02:22 p.m., Camaleón escribió:
>>>> El Tue, 28 May 2013 13:59:28 -0300, Ariel Martín Bellio escribió:
>>>>
>>>>> El siguiente script no me muestra la ip del navegador remoto. Desde
>>>>> donde acceda me da la IP publica mía.
>>>> (...)
>>>>
>>>> $_SERVER[“REMOTE_ADDR”] gives server IP rather than visitor IP
>>>> http://stackoverflow.com/questions/4262081/serverremote-addr-gives-server-ip-rather-than-visitor-ip
>>>>
>>>>
>>>>
>>> En esa página no encontré una solución.
>> Pues yo diría que está ahí, pero hay que leer...
>>
>>
> ¿Me podés decir cual es la solución? ya probé con los códigos que
> publican en esa página y no funciona. ¿Vos ves otra cosa?

Dinos lo que has probado exactamente y con qué resultado.

Saludos,

--
Camaleón


--
To UNSUBSCRIBE, email to debian-user-s...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/ko5eck$n1v$1...@ger.gmane.org

Lucho Lopez

unread,
May 29, 2013, 3:00:01 PM5/29/13
to
> El siguiente script no me muestra la ip del navegador remoto. Desde
> donde acceda me da la IP publica mía.
>
> (...)
>
> $_SERVER[“REMOTE_ADDR”] gives server IP rather than visitor IP
> http://stackoverflow.com/questions/4262081/serverremote-addr-gives-server-ip-rather-than-visitor-ip
>
>
>
> En esa página no encontré una solución.
>
> Pues yo diría que está ahí, pero hay que leer...
>
>
> ¿Me podés decir cual es la solución? ya probé con los códigos que
> publican en esa página y no funciona. ¿Vos ves otra cosa?
>
> Dinos lo que has probado exactamente y con qué resultado.
>
>
> Probé:
>
> 1.php
>
> <?php
>
> echo $_SERVER[“REMOTE_ADDR”];
>
> ?>
>
> 2.php
>
> <?php
>
> $ip = $_SERVER[“REMOTE_ADDR”];
>
> echo $ip;
>
> ?>
>
> 3.php
>
>
> <?php
> if( isset($_SERVER['HTTP_X_FORWARDED_FOR']) &&
> $_SERVER['HTTP_X_FORWARDED_FOR'] != '' ) {
>
> $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
>
> } else {
>
> $ip = $_SERVER['REMOTE_ADDR'];
>
> }
>
> echo $ip;
>
> ?>
>
> 4.php
>
> <?php
>
> $ipAddress = $_SERVER['REMOTE_ADDR'];
>
> if (array_key_exists('HTTP_X_FORWARDED_FOR', $_SERVER)) {
> $ipAddress = array_pop(explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']));
> }
>
> echo $ipAddress;
>
> ?>
>
> Todas me devuelven la IP de mi servidor (IP pública)
>
> Probé usando los proxy anonimos (http://proxy.org/) y me devuelven mi IP
> pública
>

Hola, quisiera hacer una acotación con la mejor intención de ayudar a
resolver el problema :)

Hasta donde entiendo $_SERVER['REMOTE_ADDR'] te va a devolver la IP
desde donde le llegan los pedidos a tu servidor web. Se me ocurre que
hay algo entre medio de vos y tu servidor web. No se si logro que me
entiendan...

Es decir, si la IP siempre es la misma, asumo que hay algo delante del
servidor web (tal vez un proxy reverso o algo que filtra el trafico).
Sino no me explico como siempre te muestra la misma IP o.O

Espero haberte dado alguna idea.
Saludos!

--
Lucho


--
To UNSUBSCRIBE, email to debian-user-s...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/CALjfk2B4wO6NBcshZ8b15eOF...@mail.gmail.com

Ariel Martín Bellio

unread,
May 29, 2013, 3:30:02 PM5/29/13
to
El 29/05/2013 03:53 p.m., Lucho Lopez escribi�:
>> El siguiente script no me muestra la ip del navegador remoto. Desde
>> donde acceda me da la IP publica m�a.
>>
>> (...)
>>
>> $_SERVER[�REMOTE_ADDR�] gives server IP rather than visitor IP
>> http://stackoverflow.com/questions/4262081/serverremote-addr-gives-server-ip-rather-than-visitor-ip
>>
>>
>>
>> En esa p�gina no encontr� una soluci�n.
>>
>> Pues yo dir�a que est� ah�, pero hay que leer...
>>
>>
>> �Me pod�s decir cual es la soluci�n? ya prob� con los c�digos que
>> publican en esa p�gina y no funciona. �Vos ves otra cosa?
>>
>> Dinos lo que has probado exactamente y con qu� resultado.
>>
>>
>> Prob�:
>>
>> 1.php
>>
>> <?php
>>
>> echo $_SERVER[�REMOTE_ADDR�];
>>
>> ?>
>>
>> 2.php
>>
>> <?php
>>
>> $ip = $_SERVER[�REMOTE_ADDR�];
>>
>> echo $ip;
>>
>> ?>
>>
>> 3.php
>>
>>
>> <?php
>> if( isset($_SERVER['HTTP_X_FORWARDED_FOR']) &&
>> $_SERVER['HTTP_X_FORWARDED_FOR'] != '' ) {
>>
>> $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
>>
>> } else {
>>
>> $ip = $_SERVER['REMOTE_ADDR'];
>>
>> }
>>
>> echo $ip;
>>
>> ?>
>>
>> 4.php
>>
>> <?php
>>
>> $ipAddress = $_SERVER['REMOTE_ADDR'];
>>
>> if (array_key_exists('HTTP_X_FORWARDED_FOR', $_SERVER)) {
>> $ipAddress = array_pop(explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']));
>> }
>>
>> echo $ipAddress;
>>
>> ?>
>>
>> Todas me devuelven la IP de mi servidor (IP p�blica)
>>
>> Prob� usando los proxy anonimos (http://proxy.org/) y me devuelven mi IP
>> p�blica
>>
> Hola, quisiera hacer una acotaci�n con la mejor intenci�n de ayudar a
> resolver el problema :)
>
> Hasta donde entiendo $_SERVER['REMOTE_ADDR'] te va a devolver la IP
> desde donde le llegan los pedidos a tu servidor web. Se me ocurre que
> hay algo entre medio de vos y tu servidor web. No se si logro que me
> entiendan...
>
> Es decir, si la IP siempre es la misma, asumo que hay algo delante del
> servidor web (tal vez un proxy reverso o algo que filtra el trafico).
> Sino no me explico como siempre te muestra la misma IP o.O
>
> Espero haberte dado alguna idea.
> Saludos!
>
> --
> Lucho
>
>
Si, es como vos dec�s pero no tengo nada en el medio... pero uso
Virtualmin... voy a preguntar en una lista de Virtualmin a ver si les
pasa igual.
Cuando lo solucione aviso a la lista.


Muchas gracias!,
sisisisol.vcf

Camaleón

unread,
May 29, 2013, 4:20:01 PM5/29/13
to
El Wed, 29 May 2013 15:08:48 -0300, Ariel Martín Bellio escribió:

(ese html...)

> El 29/05/2013 02:37 p.m., Camaleón escribió:

(...)

>>>>>> $_SERVER[“REMOTE_ADDR”] gives server IP rather than visitor IP
>>>>>> http://stackoverflow.com/questions/4262081/serverremote-addr-gives-server-ip-rather-than-visitor-ip
>>>>>>
>>>>>>
>>>>>>
>>>>> En esa página no encontré una solución.
>>>> Pues yo diría que está ahí, pero hay que leer...
>>>>
>>>>
>>> ¿Me podés decir cual es la solución? ya probé con los códigos que
>>> publican en esa página y no funciona. ¿Vos ves otra cosa?
>> Dinos lo que has probado exactamente y con qué resultado.
>
> Probé:
(...)
> echo $_SERVER[“REMOTE_ADDR”];
(...)
> $ip = $_SERVER[“REMOTE_ADDR”];
(...)
> if( isset($_SERVER['HTTP_X_FORWARDED_FOR']) &&
(...)
> |$ipAddress = $_SERVER['REMOTE_ADDR'];
(...)

> Todas me devuelven la IP de mi servidor (IP pública)
>
> Probé usando los proxy anonimos (http://proxy.org/) y me devuelven mi IP
> pública

Bien, como verás lo primero que dicen es que esa variable (REMOTE_ADDR)
no es fiable y que no la uses, no por nada sino porque el resultado
dependerá de la configuración que tengas en el servidor y/o de tu ISP.

Comprueba que no estás pasando por ningún proxy transparente:

http://www.internautas.org/w-testproxy.php

En cualquier caso, en Google tienes cienes de tutoriales sobre este tema con
algunos scripts prediseñados, por ejemplo:

$_SERVER['REMOTE_ADDR'] Does Not Work Always, How To Get Visitor's Real IP Address In PHP?
http://blog.sachinkraj.com/how-to-get-visitors-real-ip-address-in-php/

Getting real client IP address in PHP
http://techtalk.virendrachandak.com/getting-real-client-ip-address-in-php-2/

Si nada de esto resulta tendrás que revisar a fondo la configuración de tu
servidor en cuanto a conectividad y redes para ver qué es lo que puede estar
impidiendo a php obtener este valor.

Saludos,

--
Camaleón


--
To UNSUBSCRIBE, email to debian-user-s...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org
Archive: http://lists.debian.org/ko5nj2$n1v$2...@ger.gmane.org

Ariel Martin Bellio

unread,
Aug 6, 2013, 1:20:02 PM8/6/13
to
El 29/05/2013 04:22 p.m., Ariel Martín Bellio escribió:
> El 29/05/2013 03:53 p.m., Lucho Lopez escribió:
>>> El siguiente script no me muestra la ip del navegador remoto. Desde
>>> donde acceda me da la IP publica mía.
>>>
>>> (...)
>>>
>>> $_SERVER[“REMOTE_ADDR”] gives server IP rather than visitor IP
>>> http://stackoverflow.com/questions/4262081/serverremote-addr-gives-server-ip-rather-than-visitor-ip
>>>
>>>
>>>
>>> En esa página no encontré una solución.
>>>
>>> Pues yo diría que está ahí, pero hay que leer...
>>>
>>>
>>> ¿Me podés decir cual es la solución? ya probé con los códigos que
>>> publican en esa página y no funciona. ¿Vos ves otra cosa?
>>>
>>> Dinos lo que has probado exactamente y con qué resultado.
>>>
>>>
>>> Probé:
>>>
>>> 1.php
>>>
>>> <?php
>>>
>>> echo $_SERVER[“REMOTE_ADDR”];
>>>
>>> ?>
>>>
>>> 2.php
>>>
>>> <?php
>>>
>>> $ip = $_SERVER[“REMOTE_ADDR”];
>>>
>>> echo $ip;
>>>
>>> ?>
>>>
>>> 3.php
>>>
>>>
>>> <?php
>>> if( isset($_SERVER['HTTP_X_FORWARDED_FOR']) &&
>>> $_SERVER['HTTP_X_FORWARDED_FOR'] != '' ) {
>>>
>>> $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
>>>
>>> } else {
>>>
>>> $ip = $_SERVER['REMOTE_ADDR'];
>>>
>>> }
>>>
>>> echo $ip;
>>>
>>> ?>
>>>
>>> 4.php
>>>
>>> <?php
>>>
>>> $ipAddress = $_SERVER['REMOTE_ADDR'];
>>>
>>> if (array_key_exists('HTTP_X_FORWARDED_FOR', $_SERVER)) {
>>> $ipAddress = array_pop(explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']));
>>> }
>>>
>>> echo $ipAddress;
>>>
>>> ?>
>>>
>>> Todas me devuelven la IP de mi servidor (IP pública)
>>>
>>> Probé usando los proxy anonimos (http://proxy.org/) y me devuelven mi IP
>>> pública
>>>
>> Hola, quisiera hacer una acotación con la mejor intención de ayudar a
>> resolver el problema :)
>>
>> Hasta donde entiendo $_SERVER['REMOTE_ADDR'] te va a devolver la IP
>> desde donde le llegan los pedidos a tu servidor web. Se me ocurre que
>> hay algo entre medio de vos y tu servidor web. No se si logro que me
>> entiendan...
>>
>> Es decir, si la IP siempre es la misma, asumo que hay algo delante del
>> servidor web (tal vez un proxy reverso o algo que filtra el trafico).
>> Sino no me explico como siempre te muestra la misma IP o.O
>>
>> Espero haberte dado alguna idea.
>> Saludos!
>>
>> --
>> Lucho
>>
>>
> Si, es como vos decís pero no tengo nada en el medio... pero uso
> Virtualmin... voy a preguntar en una lista de Virtualmin a ver si les
> pasa igual.
> Cuando lo solucione aviso a la lista.
>
>
> Muchas gracias!,

El problema lo tenía el modem router wifi. Cambiaron el aparato y ahora
funciona correcamente.



sisisisol.vcf
0 new messages