Hallo
gibt es eine möglichkeit, mit cgi herauszufinden, woher die ip adresse (geografisch) kommt, die im moment das script beansprucht? die ip zu kriegen ist ja einfach, aber ich würde gerne diese zu einem land zuordnen können, um die zeitzone zu bestimmen. und ich will diese abfrage nicht mir js machen. oder gibt es auf dem netz irgendwo eine liste mit den ip’s und ihren herkunftsorten??
danke im voraus
sabine
Hallo
gibt es eine möglichkeit, mit cgi
herauszufinden, woher die ip adresse
(geografisch) kommt, die im moment das
script beansprucht? die ip zu kriegen ist
ja einfach, aber ich würde gerne diese zu
einem land zuordnen können, um die
zeitzone zu bestimmen. und ich will diese
abfrage nicht mir js machen.
Ich würde eine DNS-Abfrage machen, die zu der IP-Nummer mögliche (es können u.U. mehrere sein!) Namen holt.
In Perl dürfte es damit funktionieren:
– Schnipp –
#!/bin/perl
use Socket;
...
print getHostname("xxx.xxx.xxx.xxx");
...
sub getHostname() {
my ($ip) = @\_;
$iaddr = inet\_aton($ip);
$result=gethostbyaddr($iaddr,AF\_INET);
if (!$result) { $result=$ip; }
return $result;
}
– Schnapp –
Wenn der Name nicht gefunden werden konnte, so liefert die Routine getHostname die IP-Adresse zurück, ansonsten einen (nicht den) Namen.
Beachte aber dabei, das eine DNS-Abfrage recht zeitaufwendig sein kann. Lieber die Daten im Hash speichern und diesen öfter mal neu initialisieren oder einen lokalen DNS-Server einrichten, der die Arbeit dann für Dich macht.
Allerdings hat der Name noch lange nichts mit dem Standort des Rechners zu tun, da ein mobiler Rechner mit fester IP überall auf der Welt sein kann.
oder gibt es
auf dem netz irgendwo eine liste mit den
ip’s und ihren herkunftsorten??
Wenn Du dazu eine Antwort bekommst, kannst Du diese hier ja mal bekannt geben. Aber wie schon gesagt, das kann nicht für alle Rechner möglich sein.
MfG Frank