Länder per PHP ermitteln – Schutz vor Spammern – GeoIP

Hallo,

da ich für mein Anti-Spam-Projekt MIGUmail nach einer Möglichkeit gesucht habe, Nutzer aus Ländern, die bekannt sind für Spam-Attacken (China, Indonesien, Brasilien, Thailand usw.), von vornherein nicht zur Registrierung zuzulassen.

Das ist schwieriger als man denkt, denn im Internet ist es nicht vorgesehen, dass man seine Länderkürzel mitschickt. Auch ist es nicht einfach über die IP-adresse eines Nutzers sein Herkunftsland zu ermitteln, denn dazu braucht man schon komplexe Datenbanken, die regelmäßig aufgefrischt werden müssen.

Zuerst lies ich mich über den Artikel auf phishmail.de inspirieren, die GeoIP-Funktion direkt in Apache zu nutzen. Davon habe ich aber Abstand genommen, da ich an meiner Apache-Konfiguration nichts mehr ändern wollte.

Also kam mir die Idee, diese GeoIP-Informationen mit meiner Leib-und-Magen-Sprache PHP zu nutzen.

Dazu benutzt man das Phpgeoip-Modul. Eine kleine Installationsanleitung kommt von Chris Hope. Ich selbst installiere das Modul einfach per Webmin.


apt-get install php5-geoip

Dann erfolgt der Neustart von Apache


/usr/sbin/apache2ctl graceful

Und siehe da, mit ein bißchen PHP:


print geoip_country_code_by_name($_SERVER['REMOTE_ADDR']);

erhalten Sie die Rückgabe “DE” für Deutschland.

Eh voilà, das war doch wirklich einfach.

Mit Hilfe einer aktuellen Top-10-Liste der schlimmsten Spammer-Länder und einer Übersicht der passenden Zwei-Buchstaben-Codes lässt sich schon einiges erreichen.


<?php
# blocking access from China or Russia
if (in_array (geoip_country_code_by_name($_SERVER['REMOTE_ADDR']) , array("CN","RU"))) {
 exit("Your country is not allowed");
}
?>

Man kann auch gleich ganze Kontinente blocken:


<?php
# blocking access from South America or Asia
if (in_array (geoip_continent_code_by_name($_SERVER['REMOTE_ADDR']) , array("AS","SA"))) {
 exit("Your continent is not allowed");
}
?>

Es gibt noch mehr interessante Befehle zu GeoIP. Allerdings sind einige nur in einer Profi-Version erhältlich. Damit lassen sich dann noch weitere Daten anhand der IP-Adresse ermitteln, bspw. die Stadt, der Staat, die geographischen Koordinaten, der Provider-Namen und noch einiges mehr. Für die hier angegebenen Beispiele reicht aber die Gratis-Version.

Natürlich sollte man auch die Datenbank von GeoIP immer aktuell halten. Dazu legt man sich ein Batch File an und kopiert es gleich nach “/etc/cron.weekly/“. Das sollte reichen.

#!/bin/sh
#
# updating the GeoIP Lite Database
cd /tmp
wget -q http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
if [ -f GeoIP.dat.gz ]
then
 gzip -d GeoIP.dat.gz
 rm -f /usr/share/GeoIP/GeoIP.dat
 mv -f GeoIP.dat /usr/share/GeoIP/GeoIP.dat
fi

Um diese Funktionen lässt sich natürlich einiges drumherum basteln. Z.B. kann man sich per Mail alarmieren lassen. Oder man nutzt diese Informationen, um den Nutzer auf eine anderssprachige Unterseite umzuleiten. Aber für letzteres bevorzuge ich das Auslesen der Länderkennung in den Browser-Informationen.

Dieser Artikel hat gezeigt, wie man mit Hilfe von GeoIP und PHP länderspezifische Aktionen durchführen kann. Über Anregungen oder Anmerkungen bin ich immer dankbar.

  • Share/Bookmark

Energiesparen im Haushalt – nichts einfacher als das

Energiesparen – Jeder kann es

Wir allen müssen sparen, nicht nur die Kanzlerin.
Ich zeige Ihnen praktikable Tipps, die man nebenbei beachten kann, die keine große Mühen und fast keine Investitionen kosten. Und vor allem, die sich schon nach kürzester Zeit amortisieren. Unser Haushalt hat mit diesen Methoden im ersten Jahr fast 1000 Kilowattstunden an Strom gespart. Das macht bei einem damals durchschnittlichen preis von 15 Cent/KWH 150 Euro. weiter lesen..

  • Share/Bookmark

Kraft durch Bilder – SEO mit Bildern

Auch Bilder können Traffic auf sich ziehen und das nicht zu knapp.

Wenn ich den Google Analyzer starte, so sehe ich regelmäßig, dass viele meiner Bilder in Googles Bildersuche gefunden werden.

Wie schafft man das? Natürlich indem man alles HTMLmögliche macht, um die Bilder mit SEO-Techniken zu spicken: weiter lesen..

  • Share/Bookmark

Mein perfekter Bleistift ist da

Endlich, nachdem ich in verschiedensten Blogs von diesem Stift gelesen haben, musste ich ihn unbedingt haben, den perfekten Bleistift.

Zumindest wurde er so von seinem Hersteller Faber-Castell getauft.

Ein Bleistift mit einer aufsteckbaren Verlängerung mit integriertem Anspitzer und Klipp.

Ein paar Bilder sagen mehr als tausend Worte.

Der perfekte Bleistift von Faber-Castell - eingepackt

Der perfekte Bleistift von Faber-Castell - eingepackt

Der perfekte Bleistift von Faber-Castell - ausgepackt

Der perfekte Bleistift von Faber-Castell - ausgepackt

Der perfekte Bleistift von Faber-Castell - auseinander genommen

Der perfekte Bleistift von Faber-Castell - auseinander genommen

Mit diesem Stift werde ich mein neues X17-Notizbuch einweihen. Doch dazu morgen mehr.

  • Share/Bookmark

Artikel schreiben – Motivation durch Schmerzen

Ich möchte hier kurz erläutern, wie ich es schaffe, mich mit Hilfe von zu vermeidenden psychischen Schmerzen zum Schreiben motivieren. Als Inspiration habe ich den sehr gut geschriebenen Artikel „10 einfache Schritte, um Artikel in weniger als einer Stunde zu schreiben“ von Tom genommen. weiter lesen..

  • Share/Bookmark

Mein erstes (richtiges) Notizbuch

Eigentlich habe ich nur nach einen neuen Bleistift gesucht und dann stieß ich auf ein sehr schön gemachtes Blog, das sich dem Thema Notizbücher widmet (www.notizbuchblog.de).

Obwohl ich schon seit mehr als 20 Jahren fast ausschließlich digital lebe, liebe ich trotzdem mein braun-roter Filofax Kensington aus weichem Rindleder. Es braucht keinen Strom, riecht nach Leder und geht nicht kaputt, wenn es hinfällt. Das kann mir kein PDA oder Handy bieten.

Beim Stöbern auf notizbuchblog.de wurde ich neugierig auf das X17-Notizbuchsystem. Und heute kam er dann per Post.

Anbei ein Foto.

X17 Notizbuch 232x300 Mein erstes (richtiges) Notizbuch

X17-Notizbuch

Aber einweihen werden ich dieses Glanzstück natürlich erst, sobald mein neuer Bleistift geliefert wird.

Ich werde weiter berichten

  • Share/Bookmark

Wordpress, First Steps

Hallo, und guten Morgen,

wenn Du den Weg über das Design gehst, dann tätest Du gut daran, dir aus dem Netz ein kommentiertes leeres Template zu besorgen.

Der nächste Schritt wäre, die Settings vernünftig vorzunehmen: weiter lesen..

  • Share/Bookmark

Wordpress, erste Gedanken

Moin…

dann schreibe ich mal so runter

Es gibt mehrere Herangehensweise an dieses Thema

  • Man kann es technisch angehen: Installation, Plugins, Tuning
  • Designlastig: Farben, Elemente, Gimmicks
  • oder Medienlastig: Social Elements, Blog-SEO, Content Syndication,Werbung (Adword & Adsense), Multilanguage

Es gibt für alles zig Top10-Listen: die besten Plugins, die besten Designs, die besten Gimmicks etc. Du solltest dir also schon Gedanken darüber machen, welchen Aufhänger du nimmst. weiter lesen..

  • Share/Bookmark