# Erkennen aus welchem land man kommt



## meilon (22. Mai 2004)

Hi,
wie kann man erkennen, aus welchem Land der aktuelle Besucher kommt, bzw, von wo er sich eingeloggt hat? Ich denke, das sowas über IP's geht, aber wo soll ich nachschlagen? Gibt es da ein Verzeichnis oder gibt es Strickte regeln, wie die ersten beiden Abschnitte der IP, womit ja der ISP erkannt werden kann.

mfg
Klink


----------



## Mairhofer (22. Mai 2004)

Eine Möglichkeit ist natürlich das ganze über die IP zu regeln, jedoch gibt es glaub ich für Deutschland mehrere hundert Adressräume der unzähligen ISPs und wie gesagt, das nur für Deutschland.

Ich weiss ja nicht in welchen Umfang das gehen soll und wie genau es stimmen muss, aber als Notlösung kann man doch auch die Sprache des Browsers nehmen. Ich schätze mal das die Sprache des Browser zu 95% mit dem Land des Users übereinstimmt.

Wenn du ne Datenbank mit allen ISPs und deren Adressräumen hast, bzw aufgebaut hast, interessant wäre das schon 

MfG
Andreas

EDIT:

Mir fällt direkt noch was ein: Schau nach dem HostName des Users und such nach t-online.de tnet (oder was es da alles für T-Online Hostnames gibt), dann auch aol..
Ach, da hamwa die kacke, Aol User (mein BeileidI) haben ja meines Wissen auch AOL.com im Hostname, ok das kannste vergessen.


----------



## _voodoo (22. Mai 2004)

> _Original geschrieben von Mairhofer _
> *Ich weiss ja nicht in welchen Umfang das gehen soll und wie genau es stimmen muss, aber als Notlösung kann man doch auch die Sprache des Browsers nehmen. Ich schätze mal das die Sprache des Browser zu 95% mit dem Land des Users übereinstimmt.*


Mein Firefox ist in Englisch und ich bin kein Engländer - schlechte Idee denke ich 

Ich bin mal vor langer Zeit auf einer Homepage gelandet wo mir mein Herkunftsland angezeigt wurde und ich dächte das wurde mit PHP realisiert. Aber leider war  damals noch nichtmal ansatzweise mit PHP in Berührung gewesen und hab die Wichtigkeit dieser Seite verkannt 
(Warum ich das dann erzähle? Damit gesagt ist das es auch möglich ist.)

Grad gefunden:
http://www.hotscripts.com/Detailed/22093.html


----------



## Mairhofer (22. Mai 2004)

Ok, ich hab noch ne Idee

http://www.ripe.net/perl/whois?form...ng=&searchtext=62.206.15.105&do_search=Search

ripe.net abfragen, Land auslesen.

ich hab gerad keine AOL Domain eines deutschen Users an der Hand, daher weiss ich nicht ob das ein Weg ist...


----------



## meilon (22. Mai 2004)

@Mairhofer die Erste: Ich habe mich bei php.net schlau gemacht und [phpf]get_browser[/phpf] gefunden. Will aber nicht. Liegt an der BrowsCap.ini, die ich wohl nicht habe und nicht weiß wohin damit.

@_voodoo: schau ich mir gleich mal an...

@Mairhofer die Zweite: Ich habe mal nen Vergleich gemacht: Deine und meine IP angeguggt: Bei Adress steh mal D-PLZ und mal Germany mal Deutschland, also Ripe ist zwar informativ, aber das auszulesen wäre irgendwie schwierig! Mal guggen!


----------



## Neurodeamon (22. Mai 2004)

> _Original geschrieben von _voodoo _
> *Mein Firefox ist in Englisch und ich bin kein Engländer - schlechte Idee denke ich *



Kein Hindernis, Du kannst die Browsersprache locker auf de_DE ändern ...
Außerdem gibt es Extensions dafür ...


----------



## meilon (22. Mai 2004)

das Scipt, was _vodoo Vorgeschlagen hat, kostet 39.99 Dollar, nicht mein Fall, aber trotzdem Genial.


----------



## _voodoo (22. Mai 2004)

Price: Free (GPL)
Erklär mir woher die woher die 40$ sollen kommen .... 

Ich probier grad das Ding zum laufen zu bekommen aber ich hab grad keine MySql DB auf meinem Webspace 

Hier mal ein Auszug aus dem Script-readme:


> - This is a script designed to fit into your website and redirect/restrict access to visitors based on their country, or just to get the visitor`s country and country details, like population, currency and flag image path.
> - The script should be included in a set of pages on your website so it could redirect visitors to those pages acordingly to the redirection rules.
> - In this distribution is included a free IP2Country database (75% accurate) for 179 countries, with 16934 records.
> - The country code of the visitors is saved in a cookie or a session variable in order to avoid searching the IP database repeatedly.
> ...



http://www.hotscripts.com/cgi-bin/dload.cgi?ID=22093


----------



## meilon (22. Mai 2004)

hoppala, naja, steht oben auf der Seite, wenn du auf die Homepage vom Scipt gehst. ka was dan bedeutet, ist ja auch egal, jetzt werd ich erstmal die Datenbank in mein  MySQL drücken...


----------



## meilon (22. Mai 2004)

... Fertig, Einstellungen gemacht, mit example.php einen Test gebaut und ärgern *hmpf*
Auf meinem System ist nur IE und FireFox installiert, und jedes mal kommt United States raus. Könnte das mal jemand von außerhalb testen?
http://klink.homelinux.net/homepage/bla.php
Danke schon mal


----------



## Mairhofer (22. Mai 2004)

Germany


----------



## danube (22. Mai 2004)

> _Original geschrieben von Oberst Klink _
> *... Fertig, Einstellungen gemacht, mit example.php einen Test gebaut und ärgern *hmpf*
> Auf meinem System ist nur IE und FireFox installiert, und jedes mal kommt United States raus. Könnte das mal jemand von außerhalb testen?
> http://klink.homelinux.net/homepage/bla.php
> Danke schon mal *


Hast du AOL?


----------



## meilon (22. Mai 2004)

nein, Tiscali. Aber wenn ich meine IP auf der Homepage überprüfen lasse, kommt Deutschland raus
http://rv.web-heaven.com/details.php


----------



## Kerwin (22. Mai 2004)

bei mir steht germany da

IE 6 -> deutsch


----------



## meilon (22. Mai 2004)

aaach, ich Trottel! Wieder fressen für den snuu! Server steht ja im LAN und ich kann meine Sachen nicht von außen Testen (doofer Router). Ich dachte 192.168.2.2 wäre *immer* im Lokalen Lan und hat kein Server im Web. Also wäre eine zusätzliche Prüfung mit der "Sprache" der Browsers nicht schlecht, aber wie kommt wo die browsercap.ini hin, damit sie eingebunden wird?


----------



## ronin (23. Mai 2004)

Ich glaub reima hat die tolle Funktion mal geschrieben ...


```
function IPtoCountry($ip)
{
    $sock = fsockopen("whois.ripe.net", 43);
    fwrite($sock, $ip."\n");
    while (!feof($sock)) {
        $info .= fgetc($sock);
    }
    fclose($sock);
    preg_match("/country:[ ]+([A-Z]{2})\n/", $info, $match);
    return $match[1];
}
```


von mir isset jedenfalls net. 
Aber es läuft trotzdem *fg*


----------



## FireFlow (23. Mai 2004)

> _Original geschrieben von ronin _
> *Ich glaub reima hat die tolle Funktion mal geschrieben ...
> *




Ne nicht wirklich, weil dabei der Server die Verbindung aufbaut, und die Seite auch die IP von deinem Server auf Land überprüft  

Aber netter Verusch, nur das die Schleife abbrechen sollte nachdem das preg_match erfolgreich ist, sonst nur unnötig Rechenarbeit...


----------



## Sven Mintel (23. Mai 2004)

GeoIP-Country ....ist ne Freeware-DB für diesen Zweck. Die wird bspw. bei Awstats benutzt.... 
Ich hab vor ner Weile mal damit rumprobiert... funktioniert recht gut

Die haben auch ne DB, welche das nach Städten aufschlüsselt.... die kostet allerdings....$370


----------



## meilon (23. Mai 2004)

Die Datenbank, die _vodoo vorgeschlagen hat, ist auch nicht schlecht. Bei der bleibe ich jetzt. Mal sehen, wie das mit dem [phpf]get_browser[/phpf] und Browscap.ini geht...


----------



## Krypthonas (23. Mai 2004)

Machts euch mal nicht so schwer Leute. Wenn ihr einen Deutschen Browser, alla IE benutzt, wird per JavaScript *Browser Detection* die Sprache deines Browsers ausgelesen. Mit den weiteren Variablen denke ich kann jeder alleine mit klar kommen.

In diesem Sinne


----------



## low-group (23. Mai 2004)

> _Original geschrieben von FireFlow _
> *Ne nicht wirklich, weil dabei der Server die Verbindung aufbaut, und die Seite auch die IP von deinem Server auf Land überprüft
> *



Wieso soll das nich funktionieren? Du mußt nur die IP von dem User auslesen und diese an $ip weitergeben und schon haste de Standort.

Hier noch eine Seite welche sich mit sowas beschäftigt: http://www.web-gps.de/index.php


Hab hier noch ne Seite gefunden, wo die IP-Ranges gelistet sind: http://www.voodoomaniax.com/ipindex/


----------



## meilon (23. Mai 2004)

ok, mal anguggen  
Mit get_browser() geht sowas gar nicht, habe ich festgestellt!


----------

