web-dev-qa-db-ja.com

GoogleのIPアドレスを持つユーザー。どのように可能ですか?

私はスペイン語のウェブサイトを持っていて、ヨーロッパ以外の国の人々が登録してログインすることを許可していません。

しばらく前に、ログインできないユーザーからメッセージを受け取り始めました。 IPアドレスを尋ねると、66.249.93.202のように表示されます。これはGoogleのIPアドレスです。彼らはどのように携帯電話でそれを手に入れますか?実際のIPアドレスを使用するにはどうすればよいですか?

38
user1406271

表示されているのは、Googleプロキシアドレスです。
chromeブラウザ(AndroidまたはiOS))を使用していて、帯域幅管理機能がオンになっているモバイルユーザーは、1つを使用していると見なされることがよくあります。これらのアドレスのリクエスターとして ここで説明 として。

基本的に、提供しているデータは、Google Data Compression Proxy optimizedによってリクエストされ、エンドユーザーに送り返されます。

実際のIPアドレスを使用するために彼らがしなければならないこと。

彼らは何か違うことをしてはいけません。
あなたはx-forwarded-forヘッダーの説明 以前にリンクされたドキュメント内

59
Reaces

おそらく、Googleデータ圧縮プロキシを使用しています( https://developer.chrome.com/multidevice/data-compression )。

(同じページから)あなたの質問に答えるには:

サイト所有者は、IPジオターゲティングをどのように実行しますか?
モバイルデバイスのIPアドレスは、X-Forwarded-Forヘッダーを介して宛先サーバーに転送されます。サイトの所有者はこのヘッダーを確認して、クライアントのIPアドレスに基づいてユーザーの場所を正しく判断する必要があります。

25
faker

単にHTTPS経由でサイトにサービスを提供するの場合、ユーザーのIPアドレスを直接取得できます。

おそらく、とにかくこれを行う必要があります-特に、これらはログインページと登録ページであると説明しました。

他の回答で言及されているデータ圧縮プロキシのページからの引用:

安全なトラフィックは圧縮プロキシによって最適化されますか?

いいえ、データ圧縮プロキシは暗号化されていないトラフィックで動作します。HTTPS要求はモバイルデバイスから宛先サーバーに直接送信されます。

23
goncalopp

多分これらのユーザーはChrome(mobile)with Data Compression Proxy( https://developer.chrome.com/multidevice/data-compression )を使用しています

X-Forwarded-For HTTPヘッダーを使用して、元のユーザーIPに基づいてユーザーを地理的に特定できます(FAQを参照)

7
sfk

同じ問題があります。しかし、_X-Forwarded-For_で実際のIPを取得できませんでした。データセーバーを有効にしていますが、ヘッダー情報にX-Forwarded-Forインデックスが設定されていません。また、HTTP_X_REAL_IPインデックスを確認しました。また、Google IPアドレスで設定されます。

最後に、インデックス_HTTP_FORWARDED_の値に_for=203.192.231.124_として正しいIPが見つかりました

_echo $_SERVER['HTTP_FORWARDED']_

したがって、値からテキスト_for=_を削除するだけで、IPが取得されます。

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

1
Makarand Mane