WordPress Spam Reduzierung mittels .htaccess

Wenn mich hier im Blog eins aufregt, dann ist das der Spam. Im Schnitt kommen hier inzwischen pro Tag 100 Spam-Kommentare angeflogen, die die Antispam-Bee von Sergej sorgfältig aussortiert. „Früher“ als der Rasen noch grüner und der Himmel blauer war, habe ich regelmäßig durch den Spam-Ordner geblättert, um zu sehen, ob nicht irrtümlich etwas dort gelandet ist, was da nicht hingehört. Bei 100 neuen Einträgen am Tag kommt man allerdings inzwischen in einen Bereich wo man sich überlegen kann: Spam durchsuchen oder neuen Blog-Beitrag schreiben. Letzteres gewinnt in der Regel.

Screenshot von WpRecipes

Bei WpRecipes ist jetzt eine Regel für mod_rewrite aufgetaucht, die einen großen Teil des Spams verhindern soll:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*yourdomainname.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
</IfModule>

Was macht das „Skript“? Es schaut nach ob der Referer bei einem Post auf die wp-comments.post.php wirklich das Blog ist, und nicht irgendwas. Warum macht es das? Bots posten automatisiert auf die Datei, ohne sich das Blog vorher „anzuschauen“ oder im eigentlichen Sinne die Seite mit dem Kommentar-Formular überhaupt zu sehen, besitzen also keinen Referer der auf das entsprechende Blog verweist.

Die Methode ist nicht unbedingt neu, und auch nicht der Weisheit letzter Schluss, schafft es aber ein Großteil der Bots davon abzuhalten überhaupt etwas zu posten. Stattdessen bekommen die Teile ein 301 und wenn sie intelligent genug sind, kommen sie danach nie wieder.

Wie gesagt, nur ein Teil des Spams: man muss trotzdem weiterhin die Anti-Spam-Module in WordPress installieren, aber man muss sagen: einen Bot per .htaccess rauszuwerfen ist natürlich wesentlich effizienter als erst noch mit PHP zu ermitteln, ob er posten darf oder nicht. Falls ihr das Skript verwendet: bitte genau testen und natürlich yourdomainname durch den eigenen Domain-Namen ersetzen.

Ähnliche Beiträge

Lazy Image Loading mit WordPress Ich bin Blog-technisch ein 1a Verfechter von "Wie macht Caschy das", den im Gegensatz zu unsereins hat er noch ganz andere Probleme als wir, nämlich d...
10+ Tipps&Tricks zur wp-config.php Die Konfigurations-Datei von WordPress ist das wohl am meisten ignorierte Thema im Umgang mit der Weblog-Software, dabei bietet die wp-config.php viel...
Performance von WordPress Plugins Wie bei fast allen CMS so gibt es auch bei WordPress Plugins, die gut programmiert sind, und welche die einfach nur schlecht sind. Das wäre nicht weit...
Die XML-RPC Schnittstelle von WordPress WordPress besitzt seit dem Anbeginn aller Tage eine XML-RPC-Schnittstelle, die nicht immer den aktuellsten Sicherheits-Szenarien entsprach. Es war nie...

7 Antworten auf „WordPress Spam Reduzierung mittels .htaccess“

  1. Ein hässliches zweischneidiges Schwert ist das. PHP erzeugt noch immer einiges an Serverlast beim Aussortieren des Spams und bei der Menge die man täglich bekommt ist das tatsächlich relevant. Was wäre da einfacher als direkt den Apache entscheiden zu lassen, aber das Referer Problem ist nicht zu unterschätzen.
    Ich nutze deshalb lieber die PHP Variante, dazu auch Kompliment an Sergej, Antispam Bee summt fleißig und fehlerfrei.^^ Hauptsächlich filtert das den Spam, der nicht deutschsprachig ist raus, das reicht schon. Damit sind auch alle Referer Probleme beseitigt.
    Ich kombiniere das aber noch mit der Simple Trackback Validation.

  2. Jepp, Balu hat Recht. Es sind zu viele Menschen mit einer Referee-Unterdrückung unterwegs. Auch wenn es wenige sind (es werden aber immer mehr), halte ich die Technik für nicht einsatzfähig. Dann lieber einem Plugin die AntiSpam-Sache anvertrauen ;)

  3. Müssten man mal beobachten wieviel normale Kommentare dadurch verschüttet gehen, den es gibt auch viele normal User die keinen Referer übertragen. Ich weiß jetzt auch nicht ob man das zum Beispiel auch bei so AdsBlock Plugins nicht auch teilweise einstellen kann.

  4. Damit wirfst Du aber leider auch die Besucher raus, deren Firmenproxy z.B. den Referrer löscht. Es gibt Firmen, die machen sowas aus Datenschutzgründen, etc.

    Ich glaube, auch manche Personal Firewalls haben diese Option…

    1. Stimmt wohl, aber das gleiche Problem hat man mit einem reinen Spam-Filter auch, denn theoretisch müsste man kontrollieren was da so als Spam markiert wird – das ist nämlich auch nicht immer sauber :)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.