Introdução
Gostaria de bloquear endereços IP para que não preencham seu formulário? Você pode facilmente impedir que os usuários preencham o formulário com a lista Allow/Deny do WPForms, mas sabia que também pode bloqueá-los com base no endereço IP? Neste tutorial, mostraremos como usar um pequeno trecho de PHP para conseguir isso.
Para obter mais informações sobre a criação de uma lista Allow/Deny, consulte este tutorial.
Criando o formulário
Primeiro, crie seu formulário e adicione seus campos a esse formulário. Se precisar de ajuda para criar o formulário, consulte esta documentação.
Adicionando o snippet
Depois que o formulário for criado e publicado, você poderá adicionar esse snippet ao seu site.
Se você não tiver certeza de como ou onde adicionar snippets ao seu site, consulte este tutorial.
/** * Block form submissions based on IP address * * @link https://wpforms.com/developers/how-to-block-ip-addresses-from-completing-your-form/ */ function wpf_ip_block( $fields, $entry, $form_data ) { // Get the current users IP address $ip_address = wpforms_get_ip(); // List out the IP addresses separated by a comma $blocked_ips = array( '129.222.6.90', '127.0.0.1', ); // Check if the current user IP address is a blocked IP if ( in_array( $ip_address, $blocked_ips ) ) { // Block form submission and print error wpforms()->process->errors[ $form_data[ 'id' ] ] [ 'footer' ] = esc_html__( 'Your IP address has been blocked. Please contact the site administrator for further assistance.', 'text-domain' ); } } add_action( 'wpforms_process', 'wpf_ip_block', 10, 3 );
Esse snippet primeiro localizará o endereço IP do usuário e, se ele corresponder à lista de endereços IP bloqueados, o formulário não será enviado e será exibido um erro.
E isso é tudo o que você precisa para bloquear o envio de endereços IP em qualquer um dos seus WPFForms. Gostaria de bloquear também os envios de formulários por nome? Confira nosso tutorial sobre Como impedir que nomes preencham seu formulário.
Relacionado
Referência da ação: wpforms_process