Pengguna dengan alamat IP Google. Bagaimana itu mungkin?

38

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?

pengguna1406271
sumber
12
Ini mungkin menjadi lebih umum ketika IPv6 menjadi populer, dan orang-orang menggunakan proxy IPv6-ke-4. Jika Anda akan melakukan target geografis, dukung IPv6 dan jangan terlalu banyak berasumsi tentang kewarganegaraan ponsel.
MSalters
39
Untuk menambah komentar MSalters, jangan mengandalkan IP sama sekali; pengguna jahat tetap akan mengatasinya (VPN, proxy terbuka, dll) dan Anda hanya akan berakhir dengan pengguna sah yang menjengkelkan.
14
Apa yang terjadi ketika salah satu pengguna Anda dari Barcelona melakukan perjalanan ke Tel Aviv? Apakah dia tidak dapat masuk ke akunnya saat dalam perjalanan bisnis?
dotancohen
1
jika Anda ingin menghindari alamat IP Google hanya melayani pelanggan Anda melalui HTTPS, yang akan memotong Proxy Kompresi Data
Ricardo

Jawaban:

59

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, optimizeddan dikirim kembali ke pengguna akhir.

Apa yang harus mereka lakukan untuk menggunakan alamat IP asli mereka.

Mereka seharusnya tidak melakukan sesuatu yang berbeda.
Anda dapat memeriksa x-forwarded-forheader seperti dijelaskan dalam dokumentasi yang ditautkan sebelumnya.

Reaces
sumber
Saya kagum Google menawarkan fitur enkripsi yang merugikan.
user253751
@immibis Entah itu, atau menarik nokia . Anda tidak dapat mengoptimalkan apa yang tidak dapat didekripsi, dan Anda tidak dapat melobi untuk internet https saja dan mendekripsi untuk keuntungan Anda sendiri.
Reaces
4
Perhatikan bahwa tajuk XFF dapat dengan mudah dipalsukan, sehingga ada solusi dari wikimedia untuk memeriksa apakah tajuk XFF "tepercaya": meta.wikimedia.org/wiki/XFF_project
Sanya_Zol
25

Mungkin mereka menggunakan proksi kompresi data Google ( https://developer.chrome.com/multidevice/data-compression ).

Dan untuk menjawab pertanyaan Anda (dari halaman yang sama):

Sebagai pemilik situs, bagaimana cara melakukan penargetan geografis IP?
Alamat IP perangkat seluler diteruskan ke server tujuan melalui header X-Forwarded-For. Pemilik situs harus memeriksa tajuk ini untuk menentukan lokasi pengguna dengan benar berdasarkan alamat IP klien.

pemalsu
sumber
3
Sepertinya kami memposting hampir secara bersamaan: D
Reaces
3
@Reaces Anda 14 detik lebih cepat: D
faker
1
Masalah dengan X-Forwarded-For adalah Anda harus terlebih dahulu memeriksa IP aktual terhadap daftar proxy tepercaya sebelum Anda bisa mempercayai header. Jika tidak, pengguna dapat mengirim tajuknya sendiri dan memilih IP yang mereka suka.
CodesInChaos
23

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:

Apakah lalu lintas aman saya dioptimalkan oleh proksi kompresi?

Tidak, proksi kompresi data beroperasi pada lalu lintas yang tidak dienkripsi: permintaan HTTPS dikirim langsung dari perangkat seluler ke server tujuan.

goncalopp
sumber
7

Mungkin para pengguna ini menggunakan Chrome (mobile) dengan Proxy Kompresi Data ( https://developer.chrome.com/multidevice/data-compression )

Anda dapat menggunakan X-Forwarded-Fortajuk HTTP untuk melakukan geo-lokasi pengguna berdasarkan IP pengguna asal (Lihat FAQ)

sfk
sumber
The X-Forwarded-Forheader dapat dengan mudah palsu, sehingga tidak aman mengandalkan header ini.
Tim
1

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_FORWARDEDnilai 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']);

Makarand Mane
sumber