2010-07-15 10 views
12

Qualcuno sa di buon senso (gratis oa pagamento) per determinare se un IP in ingresso proviene da un gestore di telefonia mobile?Come determinare se l'indirizzo IP in entrata proviene da un gestore di telefonia mobile?

C'era una domanda precedente su questo: API to determine cell carrier?

e la risposta è stata "utilizza un database ISP e nomi partita". Immagino che spero che nell'anno e mezzo da quando è stata posta questa domanda qualcuno si sia inventato qualcosa di più pulito?

dita incrociate

risposta

0

Se questo è per un sito web, si potrebbe esaminare la HTTP_USER_AGENT. Naturalmente questo può essere simulato.

Se questo è davvero per un sito Web, si prega di dare agli utenti la possibilità di guardare la versione ottimizzata per dispositivi mobili!

+2

Questo indica solo il tipo di browser (ed è facilmente falsificato). Non dirà se un utente sta arrivando tramite una connessione mobile o se l'utente sta arrivando tramite Wi-Fi. – Kevin

+0

@jlwarlow non è completamente sbagliato qui, l'app di Facebook su iOS in realtà perde le informazioni del gestore nel suo agente utente. –

-5

Questo è quello che uso:

if (preg_match("@(android|iphone|opera mini|blackberry)@is",$_SERVER['HTTP_USER_AGENT'])) { 
    $mobile = true; 
} else { 
    $mobile = false; 
} 
+4

Questo ti dice solo se il dispositivo è mobile, non ti dice nulla su quale metodo di trasmissione hanno usato. – henry

7

Ho un sito web mobile e avevo bisogno di fare IP geo-localizzazione. Ho dato un'occhiata a diversi database IP-> Location. Uno dei quali era MaxMind. Hanno un database gratuito che fornisce accuratezza a livello di città, ma hanno anche un database a pagamento (a un costo ragionevole) che ti fornisce maggiori dettagli, compreso il gestore di telefonia mobile che sta arrivando un utente mobile.

Vai a http://www.maxmind.com e inserisci il tuo IP nella casella di inserimento demo (la sua prima pagina), e vedrai i dettagli che puoi ottenere. Questa è l'API che ti servirà da loro: http://www.maxmind.com/app/isp

Come ho detto, utilizzo solo il database dei dettagli a livello di città, quindi non posso garantire la copertura dei gestori di telefonia mobile. Ma durante i miei test iniziali, mi è sempre sembrato di restituire buoni valori per i cellulari inglesi, irlandesi e asiatici che ho provato.

Rgds, Kevin.

+0

Questo mi è stato utile, dal momento che sto cercando di escludere alcuni utenti in base al loro indirizzo IP. Sicuramente non voglio vietare un indirizzo IP mobile, perché ciò farà sì che altri utenti e ospiti incontrino il muro del divieto quando l'indirizzo viene riutilizzato. –

0

È possibile utilizzare hostip. Hanno una lista in continua evoluzione di IP e dove si trovano.

È possibile ottenere informazioni quali posizione fisica, paese e nome host per tale IP.

È possibile eseguire il polling dei dati e controllare il nome host rispetto a un elenco di operatori predefiniti con un'espressione regolare o qualcosa del genere.

Maggiori informazioni qui: http://www.hostip.info/

+1

Vivo in Italia, a Bergamo, città a 45 km da Milano. Il mio ISP è Tiscali. Questo servizio riporta "Berlino" ... – Massimo

+1

In tal caso, utilizzare lo strumento per aggiornarlo (se non lo si è già fatto). È uno strumento basato sulla community, quindi con l'aggiunta di dati più precisi sarà meglio per tutti – rgubby

0

NetAcuity aka Digital Envoy ha Carrier Targeting (funzione 24), che è normalmente pagare $ licenza, ma credo di avere un programma di prova di 30 giorni.

+0

Non l'hanno fatto nel luglio 2010. :) Questo è quello che usiamo oggi. – henry

Problemi correlati