Geografische Daten des Aufrufers aus dem HEADER

Hallo Experten,

ann man aus dem HTTP-Request irgendwie die Geografische Daten des Aufrufers ermitteln?

Ich würde gerne einen Seite anbieten, bei deren Aufruf der Benutzer ungefähr automatisch geografisch zugeordnet werden kann. Ich glaube, irgendwo habe ich sowas gesehen.

Gruß,

Robert

Moien

ann man aus dem HTTP-Request irgendwie die Geografische Daten
des Aufrufers ermitteln?

Direkt nein, aber indirekt schon. Es gibt Dienste die IPs Regionen zuordnen können. Ist nicht ganz zuverlässig, trifft aber bei den grossen ISP meistens recht gut.

cu

Direkt nein, aber indirekt schon. Es gibt Dienste die IPs
Regionen zuordnen können. Ist nicht ganz zuverlässig, trifft
aber bei den grossen ISP meistens recht gut.

Danke! Kannst Du mir vielleicht eine URL nennen? Sind die Dienste kostenlos?

Direkt nein, aber indirekt schon. Es gibt Dienste die IPs
Regionen zuordnen können.

Es gibt keine Zuordnung einer IP# zur geografischen Lokation.

Außerdem kann man nicht aus der IP# darauf schließen, wo der Nutzer sitzt. Er könnte einen Proxy benutzen oder sich aus Land A in einem Rechner in Land B eingeloggt haben, um von dort aus das WWW zu nutzen.

Gruß,
-Efchen

ann man aus dem HTTP-Request irgendwie die Geografische Daten
des Aufrufers ermitteln?

Nein.
Aus dem HTTP-Request schon gar nicht, da kann ja jeder reinschreiben, was er will.

Ich würde gerne einen Seite anbieten, bei deren Aufruf der
Benutzer ungefähr automatisch geografisch zugeordnet werden
kann. Ich glaube, irgendwo habe ich sowas gesehen.

Wie ich eben an anderer Stelle im Thread schrieb, gibt es keine Zuordnung einer IP# zu einem Land. Außerdem muss der Nutzer, der über IP# X kommt, nicht auch in dem Land sitzen, dem IP# X zugeordnet ist. Er kann sich aus Land Z auf Rechner mit IP# X einloggen oder einen Proxy nutzen.

Wenn das, was Du anbieten willst, dazu dient, dem Besucher die bestmögliche Sprache für die Website anbieten, kann ich Dir auch nur davon abraten. Nur, weil ein Rechner in Deutschland steht, heißt das nicht, dass der Nutzer, der davon sitzt, auch Deutsch spricht. Es könnte ein Brasilianer auf Urlaubsreise sein, der die Site lieber in Spanisch lesen würde. Sprache sollte man den Benutzer immer selbst auswählen lassen, dann ggfs. in einem Cookie speichern. Aber man bekommt nunmal keine Aussagen über den Nutzer, man kann bestenfalls Dinge abfragen, die den Rechner betreffen, an dem der Nutzer sitzt, aber ein Mensch-Maschine-Interface, das das Gehirn anzapft gibt es (glücklicherweise) (noch) nicht.

Gruß,
-Efchen

Hallo,

Ich würde gerne einen Seite anbieten, bei deren Aufruf der
Benutzer ungefähr automatisch geografisch zugeordnet werden
kann. Ich glaube, irgendwo habe ich sowas gesehen.

Wie ich eben an anderer Stelle im Thread schrieb, gibt es
keine Zuordnung einer IP# zu einem Land.

das mag streng genommen richtig sein, dennoch liefern Geo-IP-Datenbanken einen vielfach nicht so schlechten „educated guess“. Man muss sich ahlt nur der erheblichen Unsicherheiten, die diesen Geo-Informationen zu Grunde legen beewusst sein.

Wenn das, was Du anbieten willst, dazu dient, dem Besucher die
bestmögliche Sprache für die Website anbieten, kann ich Dir
auch nur davon abraten.

Dafür wäre in der Tat der HTTP-Header Accept-Language sinnvoller - gerade weil hier jeder reinschreiben kann, was er will. Vgl. etwa Content-Negotiation bei Apache (http://httpd.apache.org/docs/2.2/content-negotiation…).

Sprache sollte man den Benutzer immer selbst auswählen lassen,
dann ggfs. in einem Cookie speichern.

Dafür gibt es wohldefinierte Standards wie oben erwähnt. Die Nutzung dieser Standards bedeutet natürlich nicht, dass man dem Benutzer die Möglichkeit nehmen sollte doch noch eine andere Sprache auszuwählen.

Aber man bekommt nunmal keine Aussagen über den Nutzer, man
kann bestenfalls Dinge abfragen, die den Rechner betreffen,
an dem der Nutzer sitzt,

Die akzeptierten Sprachen sind eine Einstellung, die der Benutzer in seinem Browser vornimmt, - dies ist nicht systemweit. Je nach Browser kann es sogar seitenspezifisch eingestellt werden.

Der Accept-Language-Header enthält also (von Fehlkonfigurationen abgesehen) sehr wohl Informationen über den Benutzer bzw. dessen Wünsche. Und wenn der Benutzer mit Hilfe seines Browser ausdrücklich mitteilt, dass er soweit möglich deutschsprachige Inhalte sehen möchte, so sollte man das respektieren.

aber ein Mensch-Maschine-Interface, das das Gehirn anzapft
gibt es (glücklicherweise) (noch) nicht.

Doch, gibt es - nennt sich Konfiguration des Browsers.


PHvL

Moien

Danke! Kannst Du mir vielleicht eine URL nennen? Sind die
Dienste kostenlos?

Ich kenne keinen der es genau und kostenlos macht. Versuchs mit http://www.hostip.info/use.html (Trifft bei mir nur das Land…)

Alternativ gibt es http://www.maxmind.com/app/lookup_city . Genauer, etwas langsamer und schwerer in scripte einbaubar.

Ein anderer Einstiegspunkt wäre http://www.visualroute.com/ . Aber die sind recht teuer wenn es vollautomatisch als Server laufen soll.

cu

Hallo,

Wie ich eben an anderer Stelle im Thread schrieb, gibt es
keine Zuordnung einer IP# zu einem Land. Außerdem muss der
Nutzer, der über IP# X kommt, nicht auch in dem Land sitzen,
dem IP# X zugeordnet ist. Er kann sich aus Land Z auf Rechner
mit IP# X einloggen oder einen Proxy nutzen.

Du erklärst hiermit aber die Regel zum Ausnahmefall, und das trägt nicht unbedingt zur Erhellung des Fragestellers bei. Fakt ist, dass es entsprechende Dienste gibt, und diese grundsätzlich ganz gut funktionieren, und daher auch gerne eingesetzt werden.

Natürlich muss man sich der Tatsache bewusst sein, dass diese Dienste unter bestimmten Umständen in die Irre geleitet werden. Daher sollte man immer die Möglichkeit offen halten, dass der Besucher Angaben zur Lokalität und Sprache auch manuell anpassen kann. Aber nur weil einer von 10.000 dies dann ggf. tatsächlich nutzen muss, weil der Automatismus in genau seinem Fall nicht zum richtigen Ergebnis geführt hat, muss man doch nicht 9.999 anderen Benutzern unnötige Arbeit machen und den Zugang erschweren, wenn es Möglichkeiten gibt, dies sinnvoll zu automatisieren.

BTW: Rufst Du auch gleich die Polizei, wenn im Einkaufswagen vor dir ein Küchenmesser liegt? Es könnte tatsächlich sein, dass das Ding nicht dazu genutzt werden soll, den lieben Ehemann um die Ecke zu bringen.

Gruß vom Wiz

1 „Gefällt mir“

Ich kenne keinen der es genau und kostenlos macht. Versuchs
mit http://www.hostip.info/use.html (Trifft bei mir nur das
Land…)

Der sagt bei mir „Berlin, Germany“. Hat sich um fast 500km und drei Bundesländer verschätzt. Super! :smile:

Die akzeptierten Sprachen sind eine Einstellung, die der
Benutzer in seinem Browser vornimmt,

Man muss im WWW aber auch bedenken, dass es nicht zwangsläufig „sein Browser“ ist. Man kann im Internet-Cafe sitzen (hab ich noch nie gemacht, aber ich würde nicht ständig die Browser-Einstellungen ändern (wenn das überhaupt erlaubt ist)), oder man kann z.B. als nicht-Deutsch-sprechender bei einem Freund in Deutschland zu Besuch sein und benutzt dessen Browser.
Je nachdem, zu welchem Zweck man die Information abfragen will, muss man gehörig aufpassen, weil man eben keine Informationen über den Menschen bekommt, der am Gerät sitzt. Und je nach Anwendung ist ein falscher Guess eben einfach Mist.

Je nach Browser kann es sogar seitenspezifisch
eingestellt werden.

Um dem zuvorzukommen: Man kann natürlich auch Profile für verschiedene User einrichten. Aber im Internet-Cafe wohl eher nicht, und wenn mich jemand besucht, der nur mal kurz dran will, richte ich dem sicher auch kein Profil ein.

Der Accept-Language-Header enthält also (von
Fehlkonfigurationen abgesehen) sehr wohl Informationen über
den Benutzer

Nein. Definitv nicht.

bzw. dessen Wünsche.

Normalerweise vielleicht.

Und wenn der Benutzer mit
Hilfe seines Browser ausdrücklich mitteilt, dass er soweit
möglich deutschsprachige Inhalte sehen möchte, so sollte man
das respektieren.

Jaaa…wobei ich Dir da auch nicht wirklich widersprechen kann, propagiere ich doch auch, dass eine Schriftart immer 100% bzw. 1em groß sein soll, weil der Nutzer sich seine bevorzugte Schriftgröße am Browser einstellt.
Es ist halt alles irgendwie immer eine Gratwanderung.

aber ein Mensch-Maschine-Interface, das das Gehirn anzapft
gibt es (glücklicherweise) (noch) nicht.

Doch, gibt es - nennt sich Konfiguration des Browsers.

DAS habe ich wohl eben widerlegt.

Gruß,
-Efchen

Du erklärst hiermit aber die Regel zum Ausnahmefall

Gerade im WWW gibt es unendliche Möglichkeiten. Derer sollte man sich bewusst sein.

Fakt ist, dass es entsprechende Dienste gibt, und diese
grundsätzlich ganz gut funktionieren

Jo, so wie der weiter unten zitierte, der sich bei mir um 500km verschätzt.
Naja, immerhin stimmt das Land. Aber ich mach ja auch nichts besonderes :smile:

Natürlich muss man sich der Tatsache bewusst sein, dass diese
Dienste unter bestimmten Umständen in die Irre geleitet
werden.

Eben. Deswegen finde ich eine Antwort „Benutze den Dienst X oder Y“ einfach nicht ausreichend.

Daher sollte man immer die Möglichkeit offen halten,
dass der Besucher Angaben zur Lokalität und Sprache auch
manuell anpassen kann.

Wenn ich das nicht explizit geschrieben habe, dann bin ich entweder davon ausgegangen, dass das eh unverzichtbar ist, oder es sollte aus meinen Ausführungen hervorgehen. Und damit sind die Wogen hier dann wieder geglättet. :smile:

muss man doch nicht 9.999 anderen Benutzern unnötige Arbeit
machen und den Zugang erschweren,

Man muss sich einfach Gedanken machen. Ist es wirklich nur einer von 10.000? Erschwere ich den 9.999 anderen etwas mit der Art und Weise, wie ich das letztendlich handhabe? Wozu brauche ich das überhaupt?

Gruß,
-Efchen

Moien

Der sagt bei mir „Berlin, Germany“. Hat sich um fast 500km und
drei Bundesländer verschätzt. Super! :smile:

Wie gesagt: es gibt schnell und gratis, weniger schnell und genauer oder als pay-variante und exakt.

Und hör auf dir über 0.005% der Internetuser Gedanken zu machen. Der Rest weiss nicht was ein Proxy ist und hat keine Ahnung von den Spracheinstellungen des Browser. Die Leute surfen mit den Voreinstellungen von Dell/HP & Co und gut ist.

cu

Und hör auf dir über 0.005% der Internetuser Gedanken zu
machen.

Niemals.

Hallo,

Die akzeptierten Sprachen sind eine Einstellung, die der
Benutzer in seinem Browser vornimmt,

Man muss im WWW aber auch bedenken, dass es nicht zwangsläufig
„sein Browser“ ist.

das ist aber zunächst einmal ein Problem dieses Benutzers.

Du tust so, als wäre das Nicht-Beachten von Accept-*-Headern besser, als das Beachten. Es gibt zweierlei Besucher:

  • Besuchern mit korrekt konfiguriertem Browser wird sofort die richtige Version der Seite präsentiert, wenn die Accept-*-Header ausgewertet werden. Werden die Accept-*-Header ignoriert, so verlangst du von diesen Benutzern regelmäßig, dass sie umständlich noch ein weiteres Mal ihren Wunsch äußern.

  • Besuchern mit falsch konfiguriertem Browser wird - für sie nachvollziehbar wegen eines Fehlers in ihrem Verantwortungsbereich - zunächst die falsche Seite präsentiert, wenn die Accept-*-Header ausgewertet werden, so dass sie manuell die Version der Seite (insbesondere etwa die Sprache) wechseln müssen. Werden die Accept-*-Header ignoriert, müssen sie dies regelmäßig sowieso tun.

Zusammenfassend: Für Besucher mit falsch konfigurierten Browsern ändert sich nichts. Besucher mit korrekt konfigurierten Browsern werden vor den Kopf gestoßen, falls man die Accept-*-Header ignoriert.

oder man kann z.B. als nicht-Deutsch-sprechender bei einem
Freund in Deutschland zu Besuch sein und benutzt dessen
Browser.

Es steht ihm frei, die Browser-Konfiguration anzupassen. Tut er dies nicht, so rechnet er damit ein deutschsprachiges System zu bedienen und nötigenfalls die Sprachauswahl manuell anpassen zu müssen.

Und je nach Anwendung ist ein falscher Guess eben einfach Mist.

Das ignorieren der Accept-*-Header ist aber doch viel häufiger falsch.

Ich finde es höchst bedenklich, wenn man - auch nur mittelbar über den Browser geäußerte - Wünsche des Besuchers als grundsätzlich falsch annimmt und ignoriert. Das ist ein unmögliches Benehmen.

Demgegenüber ist die Reaktion auf eine falsch gestellte Anfrage in folgerichtiger (aber deshalb „falscher“) Weise entschuldbar.

Der Accept-Language-Header enthält also (von
Fehlkonfigurationen abgesehen) sehr wohl Informationen über
den Benutzer

Nein. Definitv nicht.

Ich hatte nicht vorgesehen, dass mein Satz an dieser Stelle zertrennt werden kann. Als Seitenbetreiber bin ich an dieser Stelle nämlich bestrebt die Wünsche des Besuchers zu erfüllen, während tatsächlich von ihm gesprochene Sprachen vollkommen irrelevant sind.

bzw. dessen Wünsche.

Normalerweise vielleicht.

Genau deshalb sollte man danach handeln. Was - wie bereits betont - ja trotzdem bedeutet, dass eine Möglichkeit geboten werden muss, nachträglich die Sprache zu wechseln.

Doch, gibt es - nennt sich Konfiguration des Browsers.

DAS habe ich wohl eben widerlegt.

Nein, da du ausschließlich Fehlkonfigurationen beschreibst. Die Existenz der Schnittstelle garantiert noch nicht, dass sie korrekt benutzt wird.


PHvL

1 „Gefällt mir“