kostenloser Webspace werbefrei: lima-city


Herkunft ermitteln

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    s******y

    Ist es möglich mit PHP die Herkunft eines Users zu ermitteln? Ich habe nun schon oft auf Seiten (z.B. http://www.ip2location.com) gesehen, dass die Herkunft angezeigt wird. Der Witz der ganzen Sache: man muss eine Software kaufen, um die Herkunft zu ermitteln.

    EDIT: Mit Herkunft meine ich das Land, aus dem der User kommt :)

    Beitrag geändert: 21.8.2007 19:01:42 von swissguy
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Ich weiß zwar gerade nicht wie die Variable heißt, es gibt aber eine in der Land und Sprache so gespeichert sind: de-at für Deusch-Österreich. Such mal in der PHPINFO nach de oder de-ch oder was dein Browser sendet. Außerdem kannst du mit gethost(IP ADRESSE) den host sehen und dadurch erfahren aus welchem Land deine Benutzer sind.
  4. t*****b

    Es gibt ja IP-Adressen und wenn man diese genauer unter die Lupe nimmt, stecken darin regionale Informationen (aufgrund der Verwaltung der IPs). Um die IPs aber einer Gegend zuordnen zu können brauchst du einen Index in dem die IP(-Verteiler) + Städte verzeichnet sind, einer davn ist http://www.geolizer.com mit ~500.000.000 + regionale Infos zu diesen. Ein weiterer Anbieter ist http://locator.adup.net/, kostenlos kriegste eben nichts qualitatives. (Wenn wer denkt ich rede Schmarrn, ich habe mich hier sehr grob und möglichst veständlich ausgedrückt :biggrin: )
  5. Was immer mal hilfreich ist, ist einen Traceroute auf eine IP auszuführen.
    Bei den deutschen IPs ist da oftmals das Städtekennzeichen einer größeren Stadt mit drin.
    München=M
    Bielefeld=BI....

  6. Ist es möglich mit PHP die Herkunft eines Users zu ermitteln? Ich habe nun schon oft auf Seiten (z.B. http://www.ip2location.com) gesehen, dass die Herkunft angezeigt wird. Der Witz der ganzen Sache: man muss eine Software kaufen, um die Herkunft zu ermitteln.

    EDIT: Mit Herkunft meine ich das Land, aus dem der User kommt :)

    Beitrag geändert: 21.8.2007 19:01:42 von swissguy


    Es gibt kostenlose Datenbanken mit IP-Adresen, ich hab sowas sogar hier irgendwo rumzufliegen... Ich hab da allerdings nie durchgesehen, wie das funktionieren soll...
    Andere Sache: IP2Location bietet eine API in PHP an, vielleicht kannst du darüber was erreichen: http://www.ip2location.com/php.aspx .



    tehkugel schrieb:
    Ich weiß zwar gerade nicht wie die Variable heißt, es gibt aber eine in der Land und Sprache so gespeichert sind: de-at für Deusch-Österreich. Such mal in der PHPINFO nach de oder de-ch oder was dein Browser sendet.

    Ist mir neu. Falls du den Useragent meinst (Mozilla/5.0 (Windows; U; Windows NT 5.1; de-AT; rv:1.7.5) Gecko/20041217) kann ich dir auch sagen, dass das nicht maßgeblich ist. Auch wenn da "de-AT" steht - ich bin in Deutschland online, lediglich mein Browser scheint ein österreichisches Exemplar zu sein ;)

    Außerdem kannst du mit gethost(IP ADRESSE) den host sehen und dadurch erfahren aus welchem Land deine Benutzer sind.

    Die Funktion heißt gethostbyaddr($ip); ...

    Möglicherweise verwendet der User aber einen ausländischen Provider oder sonstwas... Ist aber sicher doch eher unwahrscheinlich ;)

    gruß
    ferdinand24


    //EDIT:
    Hab hier mal was gefunden, das dir den Standort deines Providers anzeigt:
    <script language="Javascript" src="http://map.geoup.com/geoup?template=CountryName"></script>

    Ich war allerdings vorhin mit TELE2 online und das Ding meinte, ich sei in Schweden... Also tut es in deinem Anwendungsbereich nicht ganz so seinen weck, da der User natürlich trotzdem aus DE kommt...
    Eine weitere Möglichkeit ist ein WHOIS. Ich bin grad noch dabei, herauszufinden, wie man den selbst per PHP ermittelt... Es gibt jedoch Seiten, die son Ding rausgeben, allerdings ist der EIntrag Country darin bestimmt auch nur auf die TLD des Hosts bezogen, denn ich habe mit dem host irgendsone_nummer.cust.tele2.de bei Country "DE" angezeigt bekommen und nicht Schweden.. Das allerdings tut seinen Zweck voll und ganz ;)

    Ich melde mich nochmal, wenn ich mehr weiß...

    Beitrag geändert: 22.8.2007 18:40:45 von ferdinand24

    Beitrag geändert: 22.8.2007 18:43:35 von ferdinand24
  7. Der Übersichtlichkeit und Aktualität halber: ein neuer Beitrag.

    Ich habe mich mal ein wenig schlau gemacht und bin auf die gestoßen, von denen das WHOIS "ausgegeben" wird: RIPE (eigentlich logisch, aber war mir irgendwie nicht so im Bewusstsein).

    Hab dann auch gleich mal ne PHP-Funktion geschrieben, mit der man das Land anhand einer IP-Adresse ermitteln kann. Bei Verwendung würde ich mich über eine kleine Info per eMail freuen...

    Zu besichtigen gibt's das Ganze auch schnell unter http://vokabel-trainer.ath.cx/foreign/country.php?ip=[IP]

    <?php
    function get_country($ip){
       $handle = @fsockopen("whois.ripe.net", 43);
       @fputs($handle, "$ip\r\n");
       while(!@feof($handle)) {
          $temp = @fgets($handle);
          
          if(ereg("country:", $temp)) {
             $temp = substr($temp, 9, (strlen($temp) - 9));
             $temp = trim($temp);
             break;
          }
       }
       return $temp;
    }
    ?>


    Probiert doch mal ein bisschen damit rum (die IPs sind aus meiner Logfile, jedoch einzelne Ziffern verändert):

    http://vokabel-trainer.ath.cx/foreign/country.php?ip=212.86.197.255 - deutsche IP
    http://vokabel-trainer.ath.cx/foreign/country.php?ip=62.47.219.177 - österreichische IP
    http://vokabel-trainer.ath.cx/foreign/country.php?ip=83.76.46.223 - schweizerische IP
    http://vokabel-trainer.ath.cx/foreign/country.php?ip=85.123.212.13 - rumänische IP
    http://vokabel-trainer.ath.cx/foreign/country.php?ip=213.226.163.16 - litauische IP
    http://vokabel-trainer.ath.cx/foreign/country.php?ip=130.225.123.19 - dänische IP
    http://vokabel-trainer.ath.cx/foreign/country.php?ip=87.1.129.47 - italienische IP
    http://vokabel-trainer.ath.cx/foreign/country.php?ip=212.188.14.176 - russische IP
    http://vokabel-trainer.ath.cx/foreign/country.php?ip=255.34.123.12 - unbekannte IP

    gruß
    ferdinand24


    Beitrag geändert: 22.8.2007 20:17:39 von ferdinand24
  8. Google hilft und findet als erstes die "Standardlösung" GeoIP:

    http://www.google.de/search?hl=de&q=geoip%20maxmind%20php

    Download von Datenbank und PHP-Scripts:
    http://www.maxmind.com/download/geoip/api/php/

    API-Beschreibung:
    http://www.maxmind.com/app/php

    Das ist alles in Englisch, wer das nicht kann, muss sich an die Google-URL oben halten, dort werden auch deutschsprachige Seiten verlinkt.

    GeoIP ist eine Datenbank (gibts auch als Textdatei), die von allen verfügbaren IP(4)-Adressen, den Ort bestimmen kann. Allerdings kostet die Vollversion was. Die kostenfreie Version kann die IP aber mit dem Herkunftsland abgleichen. Das sollte ausreichen.

    Ich hab da allerdings nie durchgesehen, wie das funktionieren soll...

    Bei MaxMind sammeln sie einfach die IP-Adressen und ordnen ihnen (quasi "von Hand") eine Location (Ort, Stadt) zu. Da das logischerweise aufwändig ist, kostet der Service Geld. Außerdem ändert sich die Zuordnung ja auch von Zeit zu Zeit und dann muss die Datenbank wieder aktualisiert werden. Das der Länder-IP-Service kostenlos ist, ist da doch eine nette Geste.
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!