Utilisateurs avec l'adresse IP de Google. Comment est-ce possible?

38

J'ai un site Web espagnol et je n'autorise pas les personnes de pays non européens à s'enregistrer et à se connecter.

Il y a quelque temps, j'ai commencé à recevoir des messages d'utilisateurs qui ne peuvent pas se connecter. Quand je demande leur adresse IP, ils disent quelque chose comme: 66.249.93.202. C'est l'adresse IP de Google. Comment l'obtiennent-ils dans leurs téléphones portables? Qu'est-ce qu'ils doivent faire pour utiliser leur adresse IP réelle?

utilisateur1406271
la source
12
Cela pourrait devenir encore plus courant à mesure que IPv6 devient populaire et que les gens utilisent des proxies IPv6 à 4. Si vous allez géo-cibler, supportez IPv6 et ne faites pas trop d’hypothèses sur la nationalité des téléphones mobiles.
MSalters
39
Pour ajouter au commentaire de MSalters, ne vous fiez pas du tout aux IP; Les utilisateurs malveillants y travailleront malgré tout (VPN, proxy ouverts, etc.) et vous ne ferez que créer des utilisateurs légitimes agaçants.
14
Que se passe-t-il lorsqu'un de vos utilisateurs de Barcelone se rend à Tel Aviv? Ne pourra-t-elle pas se connecter à son compte lors d'un voyage d'affaires?
dotancohen
1
si vous souhaitez éviter l'adresse IP de Google, ne faites que servir vos clients via HTTPS, cela contournera le proxy de compression de données
Ricardo

Réponses:

59

Ce que vous voyez, c'est l'adresse proxy Google.
Les utilisateurs mobiles dotés d'un navigateur Chrome (Android ou iOS) pour lesquels les fonctionnalités de gestion de la bande passante sont activées seront souvent considérés comme utilisant l'une de ces adresses en tant que demandeur, comme décrit ici .

Essentiellement, les données que vous fournissez sont demandées par le proxy Google Data Compression optimizedet renvoyées à l'utilisateur final.

Ce qu’ils doivent faire pour utiliser leur adresse IP réelle.

Ils ne devraient rien faire différemment.
Vous pouvez vérifier l’en- x-forwarded-fortête comme expliqué dans la documentation précédemment liée.

Reaces
la source
Je suis surpris que Google propose une fonctionnalité à laquelle le cryptage est préjudiciable.
user253751
@immibis C'est soit ça, soit en tirant un nokia . Vous ne pouvez pas optimiser ce que vous ne pouvez pas déchiffrer, et vous ne pouvez pas faire pression pour un accès Internet uniquement https et le déchiffrer à votre avantage.
Réagit le
4
Notez que l'en-tête XFF peut être facilement usurpé. Il existe donc une solution de wikimedia pour vérifier si elle est "de confiance": en-tête XFF: meta.wikimedia.org/wiki/XFF_project
Sanya_Zol
25

Ils utilisent probablement le proxy de compression de données Google ( https://developer.chrome.com/multidevice/data-compression ).

Et pour répondre à votre question (de la même page):

En tant que propriétaire de site, comment puis-je effectuer un ciblage géographique IP?
L'adresse IP du périphérique mobile est transmise au serveur de destination via l'en-tête X-Forwarded-For. Les propriétaires de site doivent vérifier que cet en-tête détermine correctement l'emplacement de l'utilisateur en fonction de l'adresse IP du client.

faux
la source
3
On dirait que nous avons posté presque simultanément: D
Reaces
3
@Reaces vous avez été 14 secondes plus rapide: D
Faker
1
Le problème avec X-Forwarded-For est que vous devez d’abord vérifier l’adresse IP réelle par rapport à une liste de mandataires approuvés avant de pouvoir faire confiance à l’en-tête. Sinon, l'utilisateur peut simplement envoyer l'en-tête lui-même et choisir l'adresse IP de son choix.
CodesInChaos
23

Vous pouvez obtenir directement l'adresse IP de l'utilisateur si vous servez simplement le site via HTTPS .

Vous devriez probablement le faire de toute façon - d’autant plus que vous avez mentionné que ce sont des pages de connexion et d’enregistrement.

Citant la page du proxy de compression de données mentionnée dans d'autres réponses:

Mon trafic sécurisé est-il optimisé par le proxy de compression?

Non, le proxy de compression de données fonctionne sur un trafic non chiffré: les demandes HTTPS sont envoyées directement du périphérique mobile au serveur de destination.

goncalopp
la source
7

Peut-être que ces utilisateurs utilisent Chrome (mobile) avec le proxy de compression de données ( https://developer.chrome.com/multidevice/data-compression )

Vous pouvez utiliser l’ X-Forwarded-Foren-tête HTTP pour localiser l’utilisateur en fonction de son adresse IP originale (voir FAQ).

sfk
la source
L'en- X-Forwarded-Fortête peut facilement être usurpé, il n'est donc pas prudent de s'en servir.
Tim
1

J'ai le même problème. Mais je n’ai pas eu de véritable adresse IP X-Forwarded-For . L’économiseur de données est activé, mais l’index X-Forwarded-For n’est pas défini dans les informations d’en-tête. Aussi, j'ai vérifié l'index HTTP_X_REAL_IP. Il est également défini avec l'adresse IP de Google.

Enfin, j'ai trouvé l'adresse IP correcte dans la HTTP_FORWARDEDvaleur d' indexfor=203.192.231.124

echo $_SERVER['HTTP_FORWARDED']

Supprimez simplement le texte for=de la valeur et vous obtiendrez une adresse IP.

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

Makarand Mane
la source