Saya memiliki situs web Spanyol dan saya tidak mengizinkan orang dari negara-negara non-Eropa untuk mendaftar dan masuk.
Beberapa waktu lalu saya mulai menerima pesan dari pengguna yang tidak bisa masuk. Ketika saya meminta alamat IP mereka, mereka mengatakan sesuatu seperti: 66.249.93.202. Ini alamat IP Google. Bagaimana mereka mendapatkannya di ponsel mereka? Apa yang harus mereka lakukan untuk menggunakan alamat IP asli mereka?
networking
ip
pengguna1406271
sumber
sumber
Jawaban:
Yang Anda lihat adalah alamat proxy Google.
Pengguna seluler dengan peramban chrome (baik Android atau iOS) yang memiliki fitur manajemen bandwidth dihidupkan akan sering terlihat menggunakan salah satu dari alamat ini sebagai pemohon seperti yang dijelaskan di sini .
Intinya, data yang Anda sajikan diminta oleh Proxy Kompresi Data Google,
optimized
dan dikirim kembali ke pengguna akhir.Mereka seharusnya tidak melakukan sesuatu yang berbeda.
Anda dapat memeriksa
x-forwarded-for
header seperti dijelaskan dalam dokumentasi yang ditautkan sebelumnya.sumber
Mungkin mereka menggunakan proksi kompresi data Google ( https://developer.chrome.com/multidevice/data-compression ).
Dan untuk menjawab pertanyaan Anda (dari halaman yang sama):
sumber
Anda bisa mendapatkan alamat IP pengguna secara langsung jika Anda hanya melayani situs melalui HTTPS .
Anda mungkin harus tetap melakukan ini - terutama karena Anda menyebutkan ini adalah halaman login dan registrasi.
Mengutip dari halaman Proxy kompresi data yang disebutkan dalam jawaban lain:
sumber
Mungkin para pengguna ini menggunakan Chrome (mobile) dengan Proxy Kompresi Data ( https://developer.chrome.com/multidevice/data-compression )
Anda dapat menggunakan
X-Forwarded-For
tajuk HTTP untuk melakukan geo-lokasi pengguna berdasarkan IP pengguna asal (Lihat FAQ)sumber
X-Forwarded-For
header dapat dengan mudah palsu, sehingga tidak aman mengandalkan header ini.Saya punya masalah yang sama. Tapi saya tidak mendapatkan IP asli di
X-Forwarded-For
saya memiliki penghemat data diaktifkan tetapi indeks X-Forwarded-For tidak diatur pada informasi Header. Saya juga memeriksa indeks HTTP_X_REAL_IP. Itu juga diatur dengan alamat IP google.Akhirnya saya menemukan IP yang benar dalam
HTTP_FORWARDED
nilai indeks sebagaifor=203.192.231.124
echo $_SERVER['HTTP_FORWARDED']
Jadi cukup hapus teks
for=
dari nilai & Anda akan mendapatkan IP.$ip = str_replace('for=','', $_SERVER['HTTP_FORWARDED']);
sumber