Achtung!

Dieser Artikel enthält PHP-Code und richtet sich an Entwickler. Wir stellen diesen Code als Service zur Verfügung, bieten jedoch keine Unterstützung für Codeanpassungen oder die Entwicklung durch Dritte.

Für zusätzliche Hilfe siehe das Tutorial von WPBeginner zum Hinzufügen von benutzerdefiniertem Code.

Schließen

So blockieren Sie URLs in den Formularfeldern

Einleitung

Möchten Sie URLs aus Formularfeldern wie Einzeiliger Text und Absatztext blockieren? Der meiste Spam kommt heutzutage von Bots, die versuchen, Links in Ihr Formular einzufügen. Mit einem kleinen PHP-Skript können Sie Ihrem Formular eine weitere Schutzschicht hinzufügen, indem Sie jede Formularübermittlung ablehnen, die versucht, eine URL in Ihren Feldern Einzeiliger Text oder Absatztext einzufügen. In diesem Tutorial führen wir Sie Schritt für Schritt durch, wie Sie das Einfügen von URLs in diese Felder verhindern können.

Erstellen Ihres Formulars

Für unser Beispiel erstellen wir ein einfaches Kontaktformular für die Felder Name, E-Mail, Woher kennen Sie uns (Einzeiliger Text) und Kommentar (Absatztext).

Wenn Sie Hilfe beim Erstellen Ihres Formulars benötigen, sehen Sie bitte diese Dokumentation an.

beginnen Sie mit der Erstellung Ihres Formulars und dem Hinzufügen Ihrer Felder

Hinzufügen des Code-Snippets zum Blockieren von URLs

Nun ist es an der Zeit, das Snippet hinzuzufügen, das die URLs im Formular blockiert.

Wenn Sie Hilfe beim Hinzufügen von Snippets zu Ihrer Website benötigen, sehen Sie bitte dieses Tutorial an.

/*
 * Block URLs from inside form on Single Line Text and Paragraph Text form fields
 *
 * @link https://wpforms.com/developers/how-to-block-urls-inside-the-form-fields/
*/
 
function wpf_dev_check_for_urls( $field_id, $field_submit, $form_data ) {

	if( strpos($field_submit, 'http') !== false || strpos($field_submit, 'www.') !== false ) {
		wpforms()->process->errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'No URLs allowed.', 'wpforms' );
		return;
	} 
	
}
  
add_action( 'wpforms_process_validate_textarea', 'wpf_dev_check_for_urls', 10, 3 );
add_action( 'wpforms_process_validate_text', 'wpf_dev_check_for_urls', 10, 3 );

Dieses Snippet wird automatisch auf alle Formulare angewendet und verhindert, dass in Textfeldern oder Textbereichsfeldern (wie Absatztext) URLs eingegeben werden können.

URLs im Formular mit diesem PHP-Skript blockieren

Das ist alles! Möchten Sie auch anstößige Wörter in diesen Feldern blockieren? Sehen Sie sich unseren Artikel So blockieren Sie Formularübermittlungen mit anstößigen Wörtern an.

Aktionsreferenzen: