Monsterdocs WordPress-Spamfilter

Spam ist lästig, eine moderne Seuche, und nicht so einfach zu bekämpfen. Jeder ist daran interessiert sein E-Mailfach oder seine Blog-Kommentare mit Filtern sauber zu halten. Es gibt aber immer wieder neue Tricks der Spammer um gängige Methoden zu überwinden. Die Frage ist also: Was tut ihr gegen Kommentar-Spam auf Euren WordPress-Blogs?

  • Anti-Spam-Plugins mag ich nicht einsetzen, da immer wieder normale Kommentare in der Spambox verschwinden. Ganz zu schweigen von der schwarzen Liste von Askimet.
  • Rechenaufgaben zur Identifizierung eines Menschen mag ich auch nicht lösen.
  • Captchas sind doof. Das sind so Bildchen mit zerdrückten Buchstaben, die ich oft selbst nicht lesen kann.

Daher habe ich mir ausnahmseweise mal medizinische Hilfe über die Suchmaschinen erhofft. Eine einfache bekannte Methode ist das Integrieren eines unsichtbaren Kommentarfeldes in den Blog. Normale Besucher sehen dieses Feld nicht und füllen es daher auch nicht aus. Maschinen sind ja bekanntlich dumm und spammen auch in dieses Feld hinein. Bingo, hier erfolgt die Unterscheidung: Mensch-Spam.

Und jetzt: Informatiker, SEOler und WordPress-Experten macht mich fertig, aber ich habe nichts Verwertbares darüber im Netz gefunden. Also hat Monsterdoc selbst rumgewerkelt. Herausgekommen ist ein Spamfilter gegen maschinellen Spam, und hey, er funktioniert und ich muss keine Rechenaufgaben, keine zerpflückten Fliegen und keine WordPress-Plugins benutzen.

Allerdings ist ein bisschen Grundwissen in PHP und WordPress notwendig. Umsetzung erfolgt daher natürlich auf eigene Gefahr. Los gehts.

Erzeugen eines Kommentarfeldes:

  • Einloggen/Design/Editor/Aufrufen von Kommentare (comments.php). Einfügen von folgendem fettgedruckten Code als “erstes Kommentarfeld” im Kontext.


<div class="monsterspam">
<p><input type="text" name="filter" id="filter" value="<?php echo $comment_filter; ?>" size="27" tabindex="1" />
<label for="filter">Feld bitte nicht ausfüllen (Filter):</label></p>
</div>

<p><input type="text" name="author" id="author" value="<?php echo $comment_author; ?>" size="27" tabindex="2" />
<label for="author"><small>Name <?php if ($req) _e('(required)'); ?></small></label></p>

  • size bitte an die eigene Grösse anpassen
  • tabindex auf “1″ setzen, die folgenden Felder dann mit “2″, “3″ usw. durchnummerieren.

Unsichtbarmachen des Kommentarfeldes:

  • Einloggen/Design/Editor/Aufrufen von Stylesheet (style.css). Einfügen von folgendem Code, irgendwo.


.monsterspam {
position: absolute;
top: -9999px;
left: -9999px;
width: 0px;
height: 0px;
display: inline;
}

Wenn unsichtbares Feld beschrieben wird, gibt WordPress eine Fehlermeldung aus:

  • Über FTP-Zugang Datei wp-comments-post.php im Hauptverzeichnis von WordPress mittels Texteditor aufrufen. Einfügen von folgendem fettgedrucktem Code im Kontext.


$comment_author       = ( isset($_POST['author']) )  ? trim(strip_tags($_POST['author'])) : null;
$comment_author_email = ( isset($_POST['email']) )   ? trim($_POST['email']) : null;
$comment_author_url   = ( isset($_POST['url']) )     ? trim($_POST['url']) : null;
$comment_content      = ( isset($_POST['comment']) ) ? trim($_POST['comment']) : null;
$comment_filter       = ( isset($_POST['filter']) )  ? trim($_POST['filter']) : null;

und


if ( '' == $comment_content )
wp_die( __('Error: please type a comment.') );

if ( strlen($comment_filter) >0 )
wp_die( __('Error: Monsterdoc meint, du bist ein Spammer !!!') );

Maschineller Spam kommt bei mir damit zu 99% nicht mehr durch und gegen menschlichen Spam kann man halt nichts erfinden … oder?

Artikel zum Thema passend:

  • Keine weiteren Artikel diesbezüglich

Artikel von: Monsterdoc

Monsterdocs WordPress-Spamfilter

Leave a Reply

Your email address will not be published. Required fields are marked *