Utenti con l'indirizzo IP di Google. Come è possibile?


38

Ho un sito web spagnolo e non autorizzo persone di paesi extraeuropei a registrarsi e ad accedere.

Qualche tempo fa ho iniziato a ricevere messaggi dagli utenti che non possono accedere. Quando chiedo il loro indirizzo IP, dicono qualcosa del tipo: 66.249.93.202. È l'indirizzo IP di Google. Come lo ottengono nei loro telefoni cellulari? Cosa devono fare per usare il loro vero indirizzo IP?


12
Ciò potrebbe diventare ancora più comune quando IPv6 diventa popolare e le persone usano i proxy IPv6-to-4. Se hai intenzione di geo-target, supporta IPv6 e non fare troppe ipotesi sulla nazionalità dei telefoni cellulari.
Salterio il

39
Per aggiungere al commento di MSalters, non fare assolutamente affidamento sugli IP; gli utenti malintenzionati lo aggireranno comunque (VPN, proxy aperti, ecc.) e tu finirai solo con fastidiosi utenti legittimi.

14
Cosa succede quando uno dei tuoi utenti da Barcellona viaggia a Tel Aviv? Non sarà in grado di accedere al suo account durante i viaggi di lavoro?
dotancohen,

1
se vuoi evitare l'indirizzo IP di Google servi solo i tuoi clienti tramite HTTPS, questo aggirerà il proxy di compressione dei dati
Ricardo,

Risposte:


59

Quello che vedi è l'indirizzo proxy di Google.
Gli utenti di dispositivi mobili con un browser Chrome (Android o iOS) che hanno attivato le funzionalità di gestione della larghezza di banda saranno spesso visti come uno di questi indirizzi come richiedente come descritto qui .

In sostanza, i dati che stai fornendo sono richiesti dal proxy di compressione dei dati di Google optimizede inviati all'utente finale.

Cosa devono fare per usare il loro vero indirizzo IP.

Non dovrebbero fare diversamente.
È possibile controllare l' x-forwarded-forintestazione come spiegato nella documentazione precedentemente collegata.


Sono sorpreso che Google stia offrendo una funzionalità a cui la crittografia è dannosa.
user253751

@immibis O è quello, o tirando un Nokia . Non puoi ottimizzare ciò che non puoi decrittografare e non puoi fare lobby per una https solo internet e decrittografare a tuo vantaggio.
Reagisce il

4
Nota che l'intestazione XFF può essere facilmente falsificata, quindi esiste una soluzione da wikimedia per verificare se è intestazione XFF "attendibile": meta.wikimedia.org/wiki/XFF_project
Sanya_Zol

25

Probabilmente stanno utilizzando il proxy di compressione dei dati di Google ( https://developer.chrome.com/multidevice/data-compression ).

E per rispondere alla tua domanda (dalla stessa pagina):

Come proprietario del sito, come posso eseguire il targeting geografico IP?
L'indirizzo IP del dispositivo mobile viene inoltrato al server di destinazione tramite l'intestazione X-Forwarded-For. I proprietari del sito dovrebbero verificare questa intestazione per determinare correttamente la posizione dell'utente in base all'indirizzo IP del client.


3
Sembra che abbiamo pubblicato quasi contemporaneamente: D
Reagisce il

3
@Risorse che eri 14 secondi più veloce: D
faker

1
Il problema con X-Forwarded-For è che devi prima verificare l'IP effettivo in un elenco di proxy attendibili prima di poterti fidare dell'intestazione. Altrimenti l'utente può semplicemente inviare l'intestazione e scegliere qualsiasi IP che gli piace.
Codici A Caos il

23

È possibile ottenere direttamente l'indirizzo IP dell'utente se si serve semplicemente il sito su HTTPS .

Probabilmente dovresti farlo comunque - specialmente da quando hai menzionato queste sono pagine di accesso e registrazione.

Citando dalla pagina Proxy di compressione dati menzionata in altre risposte:

Il mio traffico sicuro è ottimizzato dal proxy di compressione?

No, il proxy di compressione dei dati funziona su traffico non crittografato: le richieste HTTPS vengono inviate direttamente dal dispositivo mobile al server di destinazione.


7

Forse questi utenti utilizzano Chrome (mobile) con il proxy di compressione dei dati ( https://developer.chrome.com/multidevice/data-compression )

È possibile utilizzare l' X-Forwarded-Forintestazione HTTP per geo-localizzare l'utente in base all'IP dell'utente originale (Vedi FAQ)


L' X-Forwarded-Forintestazione può essere facilmente falsificata, quindi non è sicuro fare affidamento su questa intestazione.
Tim

1

Ho lo stesso problema. Ma non ho ottenuto l'IP reale in X-Forwarded-For cui ho abilitato il risparmio dati ma l'indice X-Forwarded-For non è impostato sulle informazioni di intestazione. Ho anche controllato l'indice HTTP_X_REAL_IP. È inoltre impostato con l'indirizzo IP di Google.

Finalmente ho trovato l'IP corretto nel HTTP_FORWARDEDvalore dell'indice comefor=203.192.231.124

echo $_SERVER['HTTP_FORWARDED']

Quindi basta rimuovere il testo for=dal valore e otterrai l'IP.

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.