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?
networking
ip
usuario1406271
fuente
fuente
Respuestas:
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
optimized
y se los devuelve al usuario final.No deberían estar haciendo nada diferente.
Puede verificar el
x-forwarded-for
encabezado como se explica en la documentación vinculada anteriormente.fuente
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):
fuente
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:
fuente
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-For
encabezado HTTP para ubicar geográficamente al usuario según la IP de usuario original (consulte las preguntas frecuentes)fuente
X-Forwarded-For
encabezado se puede falsificar fácilmente, por lo que no es seguro confiar en este encabezado.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_FORWARDED
valor 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']);
fuente