Usuários com endereço IP do Google. Como isso é possível?

38

Eu tenho um site em espanhol e não permito que pessoas de países não europeus se registrem e se conectem.

Há algum tempo, comecei a receber mensagens de usuários que não conseguem fazer login. Quando solicito o endereço IP, eles dizem algo como: 66.249.93.202. É o endereço IP do Google. Como eles conseguem isso em seus celulares? O que eles precisam fazer para usar o endereço IP real?

user1406271
fonte
12
Isso pode se tornar ainda mais comum à medida que o IPv6 se torna popular, e as pessoas usam proxies de IPv6 para 4. Se você deseja segmentar geograficamente, suporte o IPv6 e não faça muitas suposições sobre a nacionalidade dos telefones celulares.
MSalters
39
Para adicionar ao comentário do MSalters, não confie nos IPs; usuários mal-intencionados resolverão o problema de qualquer maneira (VPNs, proxies abertos, etc.) e você só acaba irritando usuários legítimos.
14
O que acontece quando um de seus usuários de Barcelona viaja para Tel Aviv? Ela não conseguirá acessar sua conta enquanto estiver viajando a negócios?
dotancohen
1
se você quiser evitar o endereço IP do Google apenas servir os seus clientes através de HTTPS, que irá ignorar o Compression Proxy Dados
Ricardo

Respostas:

59

O que você está vendo é o endereço de proxy do Google.
Os usuários móveis com um navegador Chrome (Android ou iOS) com os recursos de gerenciamento de largura de banda ativados geralmente são vistos usando um desses endereços como solicitante, conforme descrito aqui .

Em essência, os dados que você está servindo estão sendo solicitados pelo Google Data Compression Proxy optimizede enviados de volta ao usuário final.

O que eles precisam fazer para usar o endereço IP real.

Eles não deveriam estar fazendo nada diferente.
Você pode verificar o x-forwarded-forcabeçalho conforme explicado na documentação vinculada anteriormente.

Reaces
fonte
Estou surpreso que o Google esteja oferecendo um recurso prejudicial à criptografia.
precisa saber é o seguinte
@immibis É isso ou puxar uma nokia . Você não pode otimizar o que não pode descriptografar e não pode fazer lobby por uma internet apenas https e descriptografá-la para seu próprio benefício.
Reaces em 27/01
4
Note-se que XFF cabeçalho pode ser facilmente falsificado, para que haja uma solução de wikimedia para verificar se ele é "confiável" XFF cabeçalho: meta.wikimedia.org/wiki/XFF_project
Sanya_Zol
25

Provavelmente, eles estão usando o proxy de compactação de dados do Google ( https://developer.chrome.com/multidevice/data-compression ).

E para responder sua pergunta (da mesma página):

Como proprietário de um site, como executo a segmentação geográfica por IP?
O endereço IP do dispositivo móvel é encaminhado para o servidor de destino através do cabeçalho X-Forwarded-For. Os proprietários do site devem verificar esse cabeçalho para determinar corretamente o local do usuário com base no endereço IP do cliente.

falsificador
fonte
3
Parece que postamos quase simultaneamente: D
Acessa
3
@ Reage que você era 14 segundos mais rápido: D
faker
1
O problema com o X-Forwarded-For é que você primeiro precisa verificar o IP real em uma lista de proxies confiáveis ​​antes de poder confiar no cabeçalho. Caso contrário, o usuário pode simplesmente enviar o cabeçalho por conta própria e escolher o IP que desejar.
CodesInChaos 28/01
23

Você pode obter o endereço IP do usuário diretamente se simplesmente servir o site por HTTPS .

Você provavelmente deveria fazer isso de qualquer maneira - especialmente porque mencionou que são páginas de login e registro.

Citando a partir da página Proxy de compactação de dados mencionada em outras respostas:

Meu tráfego seguro é otimizado pelo proxy de compactação?

Não, o proxy de compactação de dados opera com tráfego não criptografado: solicitações HTTPS são enviadas diretamente do dispositivo móvel para o servidor de destino.

goncalopp
fonte
7

Talvez esses usuários usem o Chrome (móvel) com o Data Compression Proxy ( https://developer.chrome.com/multidevice/data-compression )

Você pode usar o X-Forwarded-Forcabeçalho HTTP para localizar geograficamente o usuário com base no IP original do usuário (consulte as perguntas frequentes)

sfk
fonte
O X-Forwarded-Forcabeçalho pode ser facilmente falsificado, portanto, não é seguro confiar nesse cabeçalho.
Tim
1

Eu tenho o mesmo problema. Mas não recebi o IP real. X-Forwarded-For Tenho o protetor de dados ativado, mas o índice X-Forwarded-For não está definido nas informações do cabeçalho. Também verifiquei o índice HTTP_X_REAL_IP. Também é definido com o endereço IP do google.

Finalmente encontrei o IP correto no HTTP_FORWARDEDvalor do índice comofor=203.192.231.124

echo $_SERVER['HTTP_FORWARDED']

Então, basta remover o texto for=do valor e você obterá o IP.

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

Makarand Mane
fonte