Sven Rautenberg: http header

Beitrag lesen

Du drückst dich in der Tat nicht sehr deutlich aus, aber wenn ich deine Andeutungen richtig verstehe, kommt folgendes Szenario heraus:

Es gibt ein Spiel auf einem Webserver, welches nur von Surfern aus einem bestimmten Land benutzt werden soll (z.B. weil es was zu gewinnen gibt und das "Ausland" von der Teilnahme ausgeschlossen werden soll).

Du willst nun irgendwie per CGI sicherstellen, daß nur zulässige Teilnehmer das Spiel aufrufen können, denkst dabei auch an Surfer, die möglicherweise Proxys verwenden, und fragst dich, wie du solch einen Filter am besten realisieren könntest.

Meine Antwort dazu:

Das geht nicht zuverlässig.

Ein Filtern nach dem Domainnamen funktioniert garantiert nicht. Viele Provider haben große Netzwerke und sind deshalb mit ihren Internet-Zugängen in der Top-Level-Domain .net registriert. Wenn du die Teilnahme auf Neuseeland beschränken willst, würdest du alle neuseeländischen Teilnehmer ausschließen, die z.B. mit "uu.net" (einem internationalen Provider, der sicherlich auch in Neuseeland aktiv ist) surfen. Außerdem haben nicht alle Surfer auch einen Domainnamen beim Surfen, sondern sind nur mit ihrer IP-Adresse bekannt. Die dürften dann ebenfalls nicht zugreifen.

Proxys sind ebenfalls ein Problem. Du kannst dich NICHT darauf verlassen, daß die benutzten Proxys ihr Vorhandensein in irgendeiner Weise durch zusätzliche HTTP-Header kenntlich machen.

Relativ gut könnte man anhand der verwendeten IP-Adressen filtern (die benutzt schließlich jeder Surfer). Allerdings müßtest du dazu sämtliche IP-Blöcke (Serien von aufeinanderfolgenden IP-Adressen) feststellen, die in Neuseeland verwendet werden. Das kann zu einer ziemlichen Arbeit ausarten, weil es nicht zu erwarten ist, daß es nur 4 oder 5 Blöcke sind, sondern eher im Bereich einiger hundert bis tausend. Aus praktischen Erwägungen scheidet diese Methode also auch aus. Und sie wäre natürlich nicht fehlerfrei: User, die zufällig einen neuseeländischen Proxy benutzen, wären zugelassen, während Neuseeländer, die einen ausländischen Proxy benutzen (wie z.B. User von AOL), ausgeschlossen blieben.

Die einfachste Methode ist immer noch, vor das Spiel eine Seite zu setzen, die erklärt, wer teilnehmen darf und wer nicht. Die Überprüfung kann dann geschehen, wenn irgendwelche Gewinne ausgeschüttet werden - bei Gewinnspielen wird man ja kaum Geld oder Sachgewinne an eine EMail-Adresse senden können, sondern man kann eine Postanschrift verlangen.

Im übrigen ist das Internet ein internationales Netzwerk, welches (wie oben beschrieben) Länderfilter nicht vorgesehen hat.

- Sven Rautenberg