私はスペイン語のウェブサイトを持っていて、ヨーロッパ以外の国の人々が登録してログインすることを許可していません。
しばらく前に、ログインできないユーザーからメッセージを受け取り始めました。 IPアドレスを尋ねると、66.249.93.202のように表示されます。これはGoogleのIPアドレスです。彼らはどのように携帯電話でそれを手に入れますか?実際のIPアドレスを使用するにはどうすればよいですか?
表示されているのは、Googleプロキシアドレスです。
chromeブラウザ(AndroidまたはiOS))を使用していて、帯域幅管理機能がオンになっているモバイルユーザーは、1つを使用していると見なされることがよくあります。これらのアドレスのリクエスターとして ここで説明 として。
基本的に、提供しているデータは、Google Data Compression Proxy optimized
によってリクエストされ、エンドユーザーに送り返されます。
実際のIPアドレスを使用するために彼らがしなければならないこと。
彼らは何か違うことをしてはいけません。
あなたはx-forwarded-for
ヘッダーの説明 以前にリンクされたドキュメント内
おそらく、Googleデータ圧縮プロキシを使用しています( https://developer.chrome.com/multidevice/data-compression )。
(同じページから)あなたの質問に答えるには:
サイト所有者は、IPジオターゲティングをどのように実行しますか?
モバイルデバイスのIPアドレスは、X-Forwarded-Forヘッダーを介して宛先サーバーに転送されます。サイトの所有者はこのヘッダーを確認して、クライアントのIPアドレスに基づいてユーザーの場所を正しく判断する必要があります。
単にHTTPS経由でサイトにサービスを提供するの場合、ユーザーのIPアドレスを直接取得できます。
おそらく、とにかくこれを行う必要があります-特に、これらはログインページと登録ページであると説明しました。
他の回答で言及されているデータ圧縮プロキシのページからの引用:
安全なトラフィックは圧縮プロキシによって最適化されますか?
いいえ、データ圧縮プロキシは暗号化されていないトラフィックで動作します。HTTPS要求はモバイルデバイスから宛先サーバーに直接送信されます。
多分これらのユーザーはChrome(mobile)with Data Compression Proxy( https://developer.chrome.com/multidevice/data-compression )を使用しています
X-Forwarded-For
HTTPヘッダーを使用して、元のユーザーIPに基づいてユーザーを地理的に特定できます(FAQを参照)
同じ問題があります。しかし、_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']);