Cómo bloquear URLs dentro de los campos del formulario

Introducción

¿Le gustaría bloquear URLs dentro de los campos de formularios como los de Texto en Línea Simple y Texto en Párrafo? La mayoría del spam viene a través de los robots que tratan de añadir enlaces en su formulario y el uso de un pequeño script PHP puede añadir otra capa de protección a su forma de rechazar cualquier envío de formulario que intenta venir a través de una URL que aparece dentro de su texto de una sola línea o campos de texto de párrafo de formulario. En este tutorial, le guiaremos a través de cada paso para evitar que se coloquen URLs dentro de estos campos.

Creación del formulario

Para nuestro ejemplo, vamos a crear un formulario de contacto sencillo para los campos Nombre, Correo electrónico, Cómo nos conoció (Texto de una línea) y Comentario (Texto de párrafo).

Si necesita ayuda para crear su formulario, consulte esta documentación.

comience por crear su formulario y añadir sus campos

Añadir el fragmento de código para bloquear URLs

Ahora es el momento de añadir el snippet que bloqueará las URLs dentro del formulario.

Si necesita ayuda para añadir fragmentos a su sitio, consulte este tutorial.

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

Este fragmento se aplica automáticamente a todos los formularios y evitará que cualquier campo de texto normal o campo de área de texto (como Texto de párrafo) permita que se introduzcan URLs dentro del campo.

bloquear urls dentro del formulario con este script PHP

Y ya está. ¿Quiere bloquear también las blasfemias en estos campos? Eche un vistazo a nuestro artículo sobre Cómo bloquear los envíos de formularios que contengan blasfemias.

Referencias de acción: