Custom Pattern für Antispam Bee

Antispam Bee ist eine datenschutzkonforme Möglichkeit einen Blog gegen Spam zu schützen. Leider kommen aber gelegentlich doch noch ein paar unerwünschte Kommentare hindurch. Vom Plugin nicht erkannten Spam kann jeder dem Pluginkollektiv melden. Du kannst aber auch selbst tätig werden.

Antispam Bee nutzt ein paar vordefinierte reguläre Ausdrücke (Regular Expression, kurz RegExp) um Spam zu erkennen. Natürlich nur, wenn das entsprechende Feature auch aktiviert ist. Diese Muster (Patterns) können auch per Filter ergänzt werden. Dafür stehen uns folgende Felder eines Kommentars zur Verfügung: IP, Host, Inhalt, E-Mail-Adresse und Autor.

Über ein Array kann ein regulärer Ausdruck für das entsprechende Feld (ip, host, body, email, author) definiert werden.

So lassen sich auch komplexe Kombinationen erstellen. Beispielhaft zu sehen in diesem Child-Theme oder im Plugin selbst.

Aktuell hatte ich ein Problem mit Spam, der immer nur aus zwei zufälligen Großbuchstaben bestand. Website, Autor und IP wechselten wild hin und her, so dass ich mir einfach ein Pattern schrieb, welches alle Kommentare als Spam einstuft, die nur 0-2 Zeichen enthalten.

<?php
/**
 * Plugin Name: Custom Pattern for Antispam Bee
 * Description: Add custom patterns for Antispam Bee.
 * Plugin URI:  http://torstenlandsiedel.de
 * Version:     1.0
 * Author:      Torsten Landsiedel
 * Author URI:  http://torstenlandsiedel.de
 * Licence:     GPL 2
 * License URI: http://opensource.org/licenses/GPL-2.0
 */
 
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly

/**
 * Antispam Bee filter for custom RegExp patterns
 */

function antispam_bee_patterns() {
	add_filter( 'antispam_bee_patterns', 'antispam_bee_add_custom_patterns'	);
}
add_action( 'init', 'antispam_bee_patterns' );

function antispam_bee_add_custom_patterns($patterns) {
	// Pattern for body text with two or less characters.
	$patterns[] = array(
		'body' => '^(?=.{0,2}$).*'
	);
	return $patterns;
}

Wer mit individuellem Spam zu kämpfen hat, der findet in den Patterns eine mächtige Waffe zum Verhindern vom Spam.

Zum Testen deiner regulären Ausdrücke gibt es zahlreiche helfende Online-Tools. Zum Beispiel Debuggex (Achtung: Als Syntax muss hier PCRE eingestellt werden, da dies in PHP genutzt wird!)

Du hast ein Pattern geschrieben, welches dich vor Spam schützt? Das Pluginkollektiv freut sich über Pull Requests auf Github.

4 Antworten auf Custom Pattern für Antispam Bee

  1. Hi Torsten,

    wie es der Zufall so will, wollte ich mir die Tage mal näher ansehen, wie Antispam Bee (das ich natürlich im Einsatz habe) genau Spam erkennt. Daher danke hierfür. 🙂

    Und in Sachen RegExp kann ich folgende Seite empfehlen: https://regex101.com/

    LG,
    Thorsten

  2. Pingback: Das Projekt 52 geht in die nächste Runde | Kau-Boys

Schreibe einen Kommentar

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