Anti-SPAM für Elementor Pro

Elementor Pro kann Formulare durch den die eingebaute Formularfunktion erzeugen. Man benötigt kein weiteres Plugin, um Formulareingaben per Mail zu versenden. Leider kommt „out of the Box“ bei diesen Formularen recht viel SPAM an.

Elementor scheint auch nicht die Kommentar-Sperrliste (im WordPress unter /wp-admin/options-discussion.php) zu berücksichtigen und Plugins wie Antispam Bee werden ebenfalls nicht berücksichtigt.

Antispam-Lösungen für Elementor

Wenn man nun Google nutzt um zu schauen, was der Markt nun anbietet findet man häufig den Einsatz von Google reCAPTCHA V3, das setzt wieder Third-Party-Cookies voraus (und das Laden von Daten in Teilen aus den USA (www.google.com und www.gstatic.com)), das wieder eine Einwilligung mittels Consent-Tool (also ein weiteres kostenpflichtiges Plugin wie Borlabs etc.). Kein Problem, ist für mich aber ein wenig mit Kanonen auf Spatzen geschossen. Die meisten SPAM-Mails sind doch recht einfach aussortiert.

DSGVO-konformes Antispam-Plugin für Elementor

Daher habe ich ein kleines Snippet geschrieben, das alle Elementor Formulare beim absenden einmal prüft und SPAM mittels der Kommentar-Sperrliste filtert.

<?php
add_action( 'elementor_pro/forms/validation', function( $record, $ajax_handler ) {

	$blackwords = explode("\n",get_option( 'disallowed_keys' ));
	
	// Error Messages
	$error_msg = [
		'de-DE' => 'Das Feld enthält unzulässige Wörter',
		'en-GB' => 'The field contains blacklisted words!'
	];
	
    $lang = get_bloginfo('language');
	
	// Set Fallbacklang
	if($error_msg[$lang] == null) {
		$lang = 'en-GB';
	}
	
	// Get all Filds
	$raw_fields = $record->get( 'fields' );
	
	// Iterate fields
	foreach ( $raw_fields as $id => $field ) {
		// Check filed for blacklisted words
		foreach($blackwords as $blackword) {
			$regex = '/('.$blackword.')/i';
			if (preg_match($regex, $field['value'], $matches, PREG_OFFSET_CAPTURE, 0)) {
        		$ajax_handler->add_error( $field['id'], $error_msg[$lang] );
			}
		}
	}
	
    return;
}, 10, 2 );

Honeypot für Elementor-Formulare

Darüber hinaus gibt es die Möglichkeit sog. Honeypot-Felder im Formular zu integrieren.

Honeypot-Feld für SPAM-Bots

Auch wenn die meisten Bots diese Felder wirksam umgehen können, rudimentärster SPAM wird auch so abgehalten. Von daher ebenfalls eine kleine Hilfe im Kampf gegen den SPAM.

2 Antworten

Schreibe einen Kommentar

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

Weitere spannende Posts zu digitalen Themen

PHP max_input_vars in Plesk einstellen

Solltest Du dich fragen: „Wie setze ich die PHP-Variable max_input_vars unter Linux in Plesk?“, dann habe ich hier die Antwort für Dich. Wofür ist die

Wordpress Kommentare
Wordpress

WordPress Kommentare deaktivieren

Willst Du die Kommentarfunktion in WordPress deaktivieren geht das vielfach sehr einfach und ist in wenigen Schritten erledigt: Klicken Sie auf „Speichern„, um die Änderungen

Willst du dein Unternehmen digital nach vorne bringen?

Kontaktiere uns jetzt

Bestelle für Deine Webseite das

Soforthilfe-Paket

Wir schauen uns das Problem direkt unverbindlich an und melden uns bei Dir. Wir teilen dir mit was wir benötigen und gehen an die Arbeit. Je 15 Minuten berechnen wir 30,- Euro netto, egal wie viel Uhr es ist.