Erkennen von Benutzer-Verbindung 3g,4g,wifi-oder lite-mittels php
Gibt es eine Möglichkeit zu erkennen, die Verbindung der Benutzer mit PHP-Skript. Wollen, um zu erkennen, 3g,WIFI,4g und Lite. Ich will erkennen, wo die Benutzer herkommen. Ich habe bereits eine Lösung in JavaScript, aber ich möchte es in PHP aus einigen Gründen.
Ich glaube nicht, dass das möglich ist. Warum sollte der client-Rechner sagen? Was ist die javascript-Lösung?
In JavaScript, ich finde diese navigator.Verbindung Wie wir finden-clients IP mittels PHP das ist, warum ich dachte, dass gibt es eine Lösung, um seine Verbindung geben.
und das auch nur im firefox.
Sie können die IP-Adresse des Benutzers (oder zumindest einige IP-gehören zu einem onion-routing-Netzwerk, dass der Benutzer in) in PHP. Nicht sicher, wie viel es Ihnen sagt, obwohl. Im Fall von TOR-IP-Adressen,... nicht viel.
In JavaScript, ich finde diese navigator.Verbindung Wie wir finden-clients IP mittels PHP das ist, warum ich dachte, dass gibt es eine Lösung, um seine Verbindung geben.
und das auch nur im firefox.
Sie können die IP-Adresse des Benutzers (oder zumindest einige IP-gehören zu einem onion-routing-Netzwerk, dass der Benutzer in) in PHP. Nicht sicher, wie viel es Ihnen sagt, obwohl. Im Fall von TOR-IP-Adressen,... nicht viel.
InformationsquelleAutor Daniyal Ahmed | 2014-04-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kann man manchmal sagen, der Unterschied zwischen WLAN und nicht-WLAN, und manchmal kann man nicht sagen, keinen Unterschied.
Kann man nie sagen, der Unterschied zwischen 3G/4G/LTE mit php.
Annahmen und Terminologie
Ich gehe davon aus, dass ein smartphone eine Verbindung zum HTTP-server über einen browser, und dem server verwendet PHP, um die Anfrage zu behandeln. Wenn das nicht der Fall ist, bitte klären Sie Ihre Frage stellen.
Terminologie: ich verwende das Wort "ISP" in Bezug auf die Unternehmen, die im Internet-service, aber nicht Telefon-Carrier.
, Welche Infos hat der server erhalten?
Wenn Ihr Gerät eine Verbindung zu einem PHP-server, es sagt, dass der server einige Informationen über sich selbst, kann der server wissen, das Gerät die IP-Adresse, user agent, etc.
Das problem
Das problem ist, dass der browser "egal" welche Verbindung es ist, und es hat keine Auswirkung auf die info sendet der browser an den server. Wenn der browser über 3G/4G/LTE, es schicken würde, die genau die gleiche info, es würde gesandt haben, wenn es auf Wifi.
Semi "Beweis": Das HTTP-Protokoll überträgt die Daten vom Gerät auf den HTTP-server nicht die geringste Ahnung von der zugrunde liegenden Netzwerk-stack.
Wie identifizieren wir die Verbindung, dann?
Der einzige Unterschied zwischen einer Wifi - /Nicht-Wifi ist: Die IP-Adresse.
ISP ' s haben eine große Liste der reservierten IP-Adressen. Wenn Sie erkennen können, dass diese IP-Adresse gehört zu einer bestimmten ISP, das muss eine Wifi-Verbindung.
Ebenso Telefon-Carrier haben eine große Liste der reservierten IP-Adressen. Wenn Sie erkennen können, dass diese IP-Adresse gehört zu einer speziellen Telefon-carrier, dies muss ein 3G - /4G - /LTE-Verbindung!
Tun es in der Praxis
Müssen wir irgendwie korrelieren jede IP-Adresse zu einem Provider/Carrier, der ein Weg dies zu tun ist, um eine riesige Datenbank, in der alle Internet-Anbieter /Träger und deren jeweilige reservierte IP.
In der Praxis, eine einfache WHOIS-lookup enthüllt die Quelle.
Beispielsweise eine WHOIS lookup für eine zufällige IP: 109.168.97.31 ergab unter anderem:
Netvision ist ein Israelischer Internet-provider. Also, wenn dies ein Telefon-Anschluss (Man kann dies überprüfen, mithilfe der Benutzer-agent), das muss eine Wifi-Verbindung!
Tut es in PHP
Habe ich ein wenig Kenntnisse in PHP, vielleicht jemand mit besserer Kenntnis wird besser Bearbeiten zu diesem Abschnitt. Der code geht wohl so:
Die Funktion
is_this_wifi
sollten lookup den Namen der Firma in eine Datenbank und entscheiden, ob dies ein Telefon-carrier oder ISP-Unternehmen.Probleme
Müssen Sie noch eine Liste von ISP /Carrier, um vergleichen zu können
Ihre WHOIS-lookups mit Ihnen.
Einige Leute benutzen den VPN /Anonymität Netze, eine IP-Adresse liegen kann.
Einige Unternehmen sind sowohl ISP und Carrier, wird man nie wissen
ob oder nicht es ist eine Wifi-Verbindung in einem solchen Fall.
Auf jeden Fall! Ich fand keine ready-to-use-API so weit.
Wikipedia beherbergt eine (unvollständige) Liste von mobile network operatos. Es könnte ein guter Anfang sein: en.wikipedia.org/wiki/List_of_mobile_network_operators
Wir ip2location service für geolocate IP-Adressen.
InformationsquelleAutor Hello World
Eine halbwegs mögliche Lösung ist die Verwendung geoip_isp_by_name php-Funktion, um den Namen des ISP und dann durch einige API oder Schaben prüfen, welche Technologien diese ISP bieten.
InformationsquelleAutor alreadycoded.com
Es ist nicht möglich in PHP oder andere serverseitige Sprache. Sie haben, um diese Art von Informationen, die vom client (browser) und derzeit gibt es keine standard-HTTP-header, die Browser können es verwenden, um pass-Verbindung Typ-Informationen (Liste der HTTP-header-Felder).
Browser möglicherweise wissen, die Verbindung geben und man könnte in der Lage sein, um die Informationen mit Hilfe von client-side scripts (z.B. javascript) oder plugins.
InformationsquelleAutor hkazemi