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?
networking
ip
utilisateur1406271
la source
la source
Réponses:
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
optimized
et renvoyées à l'utilisateur final.Ils ne devraient rien faire différemment.
Vous pouvez vérifier l’en-
x-forwarded-for
tête comme expliqué dans la documentation précédemment liée.la source
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):
la source
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:
la source
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-For
en-tête HTTP pour localiser l’utilisateur en fonction de son adresse IP originale (voir FAQ).la source
X-Forwarded-For
tête peut facilement être usurpé, il n'est donc pas prudent de s'en servir.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_FORWARDED
valeur 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']);
la source