Wikispam 2005-01-01
Im Lamppix-Wiki meinen immer wieder findige Unternehmer, ihre Internetadressen hinterlassen zu müssen. Das verbessert natürlich deren Google-Ranking, sie werden bekannt und bekommen mehr Besuch.
So glaubt man, funktioniert die Branche.
Dieser Spam im Wiki ging mir aber langsam und sicher so sehr auf den Senkel, daß ich etwas dagegen tun mußte. Hier ist also der ultimative Blacklist-Hack für PhpWiki
< ? // blacklist hack, tino wagner, 2005-01-01 define(blacklistFile, 'black.list'); function blacklistCheck($text) { $lines = file(blacklistFile); foreach($lines as $line) { if(stristr($text, trim($line))) { return trim($line); } } return false; } ?> |
Diese Funktion in eine neue Datei "lib/blacklist.php" speichern. ("lib" ist ein Unterverzeichnis von PhpWiki)
In der Datei index.php von PhpWiki gibt es die Stelle include "lib/stdlib.php";. Gleich darunter sollte diese Zeile eingetragen werden:
include "lib/blacklist.php"; |
Letzter Schritt: Die Blacklist endgültig aktivieren.
Dazu "lib/savepage.php" öffnen und diese Stelle suchen:
// set new pageinfo $pagehash['lastmodified'] = time(); $pagehash['version']++; $pagehash['author'] = $remoteuser; |
Darüber folgende Zeilen eintragen:
// check if the new page contains blacklisted strings if($blacklistedWord = blacklistCheck($content)) { GeneratePage('MESSAGE', "<p>I'm sorry, but ". "your content contained blacklisted URLs, words ". "or whatever.</p><p>Check for <b><i>". $blacklistedWord. "</i></b> to correct this.</p>", sprintf(gettext("Problem while updating %s"), $pagename), 0); exit; } |
Jetzt fehlt bloß noch die Blacklist selbst. Eine Datei mit dem Namen "black.list" im selben Verzeichnis wie index.php erstellen und dort alle URLs oder Wörter eintragen (eine Zeile -- ein Eintrag), nach denen gesucht werden soll.