Attention !

Cet article contient du code PHP et est destiné aux développeurs. Nous fournissons ce code à titre de courtoisie, mais nous n'offrons pas de support pour les personnalisations de code ou le développement tiers.

Pour obtenir de l'aide supplémentaire, veuillez consulter le tutoriel de WPBeginner sur l'ajout de code personnalisé.

Ignorer

Comment bloquer les URL dans les champs de formulaire

Introduction

Souhaitez-vous bloquer les URL à l'intérieur des champs de formulaire tels que les champs de formulaire Texte sur une seule ligne et Texte de paragraphe ? La plupart des spams proviennent maintenant de bots qui tentent d'ajouter des liens à votre formulaire et en utilisant un petit script PHP, vous pouvez ajouter une autre couche de protection à votre formulaire en rejetant toute soumission de formulaire qui tente de passer avec une URL répertoriée dans vos champs de formulaire Texte sur une seule ligne ou Texte de paragraphe. Dans ce tutoriel, nous vous guiderons à travers chaque étape pour empêcher les URL d'être placées à l'intérieur de ces champs.

Création de votre formulaire

Pour notre exemple, nous allons créer un formulaire de contact simple pour les champs Nom, E-mail, Comment avez-vous entendu parler de nous (Texte sur une seule ligne) et Commentaire (Texte de paragraphe).

Si vous avez besoin d'aide pour créer votre formulaire, veuillez consulter cette documentation.

commencez par créer votre formulaire et ajouter vos champs

Ajout de l'extrait de code pour bloquer les URL

Il est maintenant temps d'ajouter l'extrait qui bloquera les URL à l'intérieur du formulaire.

Si vous avez besoin d'aide pour ajouter des extraits à votre site, veuillez consulter ce tutoriel.

/*
 * 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 );

Cet extrait est automatiquement appliqué à tous les formulaires et empêchera tout champ de texte normal ou champ de zone de texte (tel que Texte de paragraphe) de permettre la saisie d'URL à l'intérieur du champ.

bloquer les URL à l'intérieur du formulaire avec ce script PHP

Et voilà ! Souhaitez-vous également bloquer le langage grossier sur ces champs ? Consultez notre article sur Comment bloquer les soumissions de formulaire contenant du langage grossier.

Références d'action :