Der nervige WordPress Spam

Ich nutze ja zur Spambekämpfung Typepad AntiSpam und dieses Plugin erwischt auch einen Großteil, aber leider nicht alles. Meist sind es nervige Kommentare aller:

  • Wo ist der Like Button?
  • Habe einen RSS Reader. Wo ist der Feed?
  • Auf dem iPhone sieht es komisch aus.

Dem Blog BitBlokes ist dabei aufgefallen das diese Spammeldungen meist von der gleichen IP bzw. dem gleichen IP Bereich kommen und er liefert gleich den passenden Eintrag für die .htaccess Datei mit:

order allow,deny
deny from 128.204.197.19
deny from 95.156.238
allow from all

Damit ist dann Ruhe im Karton. Danke BitBlokes :)

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/.htaccess
http://de.wikipedia.org/wiki/Wordpress
http://de.wikipedia.org/wiki/Spam

Standort von IP Adressen lokalisieren

Möchte man den Standort einer IP Adresse ermitteln und dazu nicht erst zu irgendwelchen teuren Tools greifen müssen für den empfiehlt sich die Webseite http://www.utrace.de/. Dort sieht man dann auf einer Karte wo die IP Adresse (höchstwahrscheinlich) liegt. Das ganze funktioniert natürlich auch mit Domainnamen. Ein sehr schönes einfach gehaltenes Werkzeug zur Standortbestimmung von IP Adressen.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Geotargeting

Land einer IP Adresse in PHP ermitteln

Um die IP Adresse des aufrufenden Hosts in PHP zu ermitteln reicht folgendes Skript:

$ip=getenv("REMOTE_ADDR");
echo "Ihre IP ist: " . $ip;

Möchte man nun auch das Land ermitteln wird die ganze Sache schwieriger. Die IP Adresse an sich sagt nämlich nichts über den Standort aus. Also brauchen wir Informationen welche die IP Adresse mit Standortinformationen verknüpft. Eine solche Tabelle können wir unter http://ip-to-country.webhosting.info/downloads/ip-to-country.csv.zip .

Nachdem wir diese Datei heruntergeladen haben müssen wir sie in eine Datenbank importieren. Dazu müssen wir in der Datenbank erst eine neue Tabelle erstellen. Dies geschieht in phpMyAdmin mittels folgender SQL Anweisung:

CREATE TABLE `IPtoCountry` (
`IP_FROM` DOUBLE NOT NULL ,
`IP_TO` DOUBLE NOT NULL ,
`ISO3166-2` CHAR( 2 ) NOT NULL ,
`ISO3166-1` CHAR( 3 ) NOT NULL ,
`Name` VARCHAR( 255) NOT NULL
)

Danach kann die CSV Datei auch mittels phpMyAdmin in die Tabelle importiert werden. Dabei sollte darauf geachtet werden das das , (Komma) als Trenner eingestellt wird. Um das ganze dann zu nutzen benötigen wir noch eine Funktion welche die Datenbank abfragt und das ganze zurück gibt. Am Ende könnte das so aussehen:

 function IPtoCountry($IP)
{
$db_host="seeseekey.net";
$db_username="geheim";
$db_password="geheim";
$db_name="IpSelectDb";

$IP = sprintf("%u", ip2long($IP));

mysql_connect($db_host, $db_username, $db_password);
mysql_select_db($db_name);

$sql = "SELECT * FROM IPtoCountry WHERE IP_FROM <= $IP AND IP_TO >= $IP LIMIT 1";
$result = mysql_query($sql);

if (mysql_num_rows($result) == 0)
{
return "nicht bekannt";
}
else
{
$row = mysql_fetch_array($result);
return $row['Name'];
}
}

$ip = getenv("REMOTE_ADDR");
echo "Ihre IP ist: " . $ip . "
";
echo "Ihr Standort: " . IPtoCountry($ip);
?>

Die Variablen $db_host, $db_username, $db_password und $db_name müssen natürlich auf die richtigen Werte gesetzt werden. Wer das ganze in echt sehen möchte kann dies unter http://myip.jerilynn.net/ tun.

USB Networking + Windows

Man hält es nicht für möglich aber USB Networking ist auch unter Windows möglich :) Dazu muss man die Datei moko.inf herunter und startet sein Moko. Sobald es oben ist steckt man es an den Rechner ran. Wichtig ist es wirklich erst dann ranzustecken wenn das System geladen ist.

Windows erkennt das ganze dann als RNDIS/Ethernet Gadget und verlangt nach einem Treiber dafür. Hier wird dann die moko.inf serviert. Nach der Installation warnt uns Windows dann das eingeschränkte bzw. keine Konnektivität herrscht. Um dieses Fehler zu beheben wechselt man in die Netzwerkkonfiguration und weißt dem Interface die feste IP 192.168.0.200 zu. Danach ist das Moko per SSH unter der IP 192.168.0.202 zu erreichen.