Atenção!

Este artigo contém código PHP e destina-se a programadores. Oferecemos este código como cortesia, mas não prestamos suporte para personalizações de código ou desenvolvimento de terceiros.

Para orientação adicional, consulte o tutorial da WPBeginner sobre como adicionar código personalizado.

Ignorar

Como Bloquear URLs Dentro dos Campos do Formulário

Introdução

Gostaria de bloquear URLs de dentro dos campos do formulário, como os campos de formulário Texto de Linha Única e Texto de Parágrafo? A maioria do spam chega agora com bots a tentar adicionar links ao seu formulário e, utilizando um pequeno script PHP, pode adicionar outra camada de proteção ao seu formulário, rejeitando qualquer submissão de formulário que tente chegar com um URL listado dentro dos seus campos de formulário Texto de Linha Única ou Texto de Parágrafo. Neste tutorial, vamos guiá-lo passo a passo sobre como impedir que URLs sejam colocados dentro destes campos.

Criar o seu formulário

Para o nosso exemplo, vamos criar um formulário de contacto simples para os campos Nome, Email, Como Soube de Nós (Texto de Linha Única) e Comentário (Texto de Parágrafo).

Se precisar de ajuda para criar o seu formulário, consulte esta documentação.

comece por criar o seu formulário e adicionar os seus campos

Adicionar o trecho de código para bloquear URLs

Agora é hora de adicionar o trecho que irá bloquear os URLs dentro do formulário.

Se precisar de ajuda para adicionar trechos ao seu site, 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 trecho é aplicado automaticamente a todos os formulários e impedirá que qualquer campo de texto normal ou campo de área de texto (como Texto de Parágrafo) permita a introdução de URLs dentro do campo.

bloquear urls dentro do formulário com este script PHP

E é tudo! Gostaria também de bloquear profanidade nestes campos? Dê uma vista de olhos ao nosso artigo sobre Como Bloquear Submissões de Formulários Contendo Profanidade.

Referências de Ação: