Usuarios con la dirección IP de Google. ¿Como es posible?

38

Tengo un sitio web en español y no permito que personas de países no europeos se registren e inicien sesión.

Hace algún tiempo comencé a recibir mensajes de usuarios que no pueden iniciar sesión. Cuando les pido su dirección IP me dicen algo como: 66.249.93.202. Es la dirección IP de Google. ¿Cómo lo consiguen en sus teléfonos móviles? ¿Qué tienen que hacer para usar su dirección IP real?

usuario1406271
fuente
12
Esto podría volverse aún más común a medida que IPv6 se vuelva popular, y las personas usen proxies IPv6 a 4. Si va a orientar geográficamente, admita IPv6 y no haga demasiadas suposiciones sobre la nacionalidad de los teléfonos móviles.
MSalters
39
Para agregar al comentario de MSalters, no confíe en las IP en absoluto; Los usuarios maliciosos lo solucionarán de todos modos (VPN, proxies abiertos, etc.) y solo terminarás molestando a los usuarios legítimos.
14
¿Qué sucede cuando uno de tus usuarios de Barcelona viaja a Tel Aviv? ¿No podrá iniciar sesión en su cuenta durante un viaje de negocios?
dotancohen
1
si desea evitar la dirección IP de Google, simplemente sirva a sus clientes a través de HTTPS, eso evitará el Proxy de compresión de datos
Ricardo

Respuestas:

59

Lo que está viendo es la dirección de proxy de Google.
Los usuarios de dispositivos móviles con un navegador Chrome (Android o iOS) que tengan activadas las funciones de administración de ancho de banda a menudo verán que usan una de estas direcciones como solicitantes, como se describe aquí .

En esencia, los datos que está sirviendo los solicita el Proxy de compresión de datos de Google optimizedy se los devuelve al usuario final.

Lo que tienen que hacer para usar su dirección IP real.

No deberían estar haciendo nada diferente.
Puede verificar el x-forwarded-forencabezado como se explica en la documentación vinculada anteriormente.

Reaces
fuente
Estoy sorprendido de que Google esté ofreciendo una función que el cifrado perjudica.
user253751
@immibis Es eso, o tirar de un nokia . No puede optimizar lo que no puede descifrar, y no puede presionar por un solo https y descifrarlo para su propio beneficio.
Recibe
44
Tenga en cuenta que el encabezado XFF se puede suplantar fácilmente, por lo que hay una solución de wikimedia para verificar si es un encabezado XFF "confiable": meta.wikimedia.org/wiki/XFF_project
Sanya_Zol
25

Probablemente estén usando el proxy de compresión de datos de Google ( https://developer.chrome.com/multidevice/data-compression ).

Y para responder a su pregunta (desde la misma página):

Como propietario del sitio, ¿cómo realizo la orientación geográfica IP?
La dirección IP del dispositivo móvil se reenvía al servidor de destino a través del encabezado X-Fordered-For. Los propietarios del sitio deben verificar este encabezado para determinar correctamente la ubicación del usuario en función de la dirección IP del cliente.

falsificador
fuente
3
Parece que publicamos casi simultáneamente: D
Reaces
3
@Reaces fuiste 14 segundos más rápido: D
falsificador
1
El problema con X-Fordered-For es que primero debe verificar la IP real con una lista de servidores proxy confiables antes de poder confiar en el encabezado. De lo contrario, el usuario puede simplemente enviar el encabezado por sí mismo y elegir la IP que desee.
CodesInChaos
23

Puede obtener la dirección IP del usuario directamente si simplemente sirve el sitio a través de HTTPS .

Probablemente debería estar haciendo esto de todos modos , especialmente porque mencionó que estas son páginas de inicio de sesión y registro.

Citando desde la página Proxy de compresión de datos mencionada en otras respuestas:

¿Mi tráfico seguro está optimizado por el proxy de compresión?

No, el proxy de compresión de datos funciona con tráfico no cifrado: las solicitudes HTTPS se envían directamente desde el dispositivo móvil al servidor de destino.

goncalopp
fuente
7

Tal vez estos usuarios usan Chrome (móvil) con Proxy de compresión de datos ( https://developer.chrome.com/multidevice/data-compression )

Puede usar el X-Forwarded-Forencabezado HTTP para ubicar geográficamente al usuario según la IP de usuario original (consulte las preguntas frecuentes)

sfk
fuente
El X-Forwarded-Forencabezado se puede falsificar fácilmente, por lo que no es seguro confiar en este encabezado.
Tim
1

Tengo el mismo problema. Pero no obtuve una IP real X-Forwarded-For , tengo habilitado el protector de datos, pero el índice X-Forward-For no está configurado en la información del encabezado. También verifiqué el índice HTTP_X_REAL_IP. También se configura con la dirección IP de Google.

Finalmente encontré IP correcta en el HTTP_FORWARDEDvalor del índice comofor=203.192.231.124

echo $_SERVER['HTTP_FORWARDED']

Tan solo elimine el texto for=del valor y obtendrá IP.

$ip = str_replace('for=','', $_SERVER['HTTP_FORWARDED']);

Makarand Mane
fuente