Como bloquear o preenchimento do seu formulário por endereços IP

Introdução

Gostaria de bloquear endereços IP de completar o seu formulário? Você pode facilmente bloquear os usuários de completar o seu formulário com a lista WPForms Allow/Deny, mas você sabia que você também pode bloqueá-los apenas com base no seu 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 Permitir/Rejeitar, consulte este tutorial.

Criar o formulário

Em primeiro lugar, crie o seu formulário e adicione os seus campos a este formulário. 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 snippet

Depois de o formulário ter sido criado e publicado, pode agora adicionar este snippet ao seu sítio.

Se não tiver a 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 );

Este snippet irá primeiro encontrar o endereço IP do utilizador e, se corresponder à lista de endereços IP bloqueados, o formulário não será enviado e será apresentado um erro.

com este snippet pode agora bloquear endereços IP

E é tudo o que precisa para impedir que os endereços IP enviem formulários para qualquer um dos seus WPFForms. Gostaria de bloquear também as submissões de formulários por nome? Consulte o nosso tutorial sobre Como bloquear o preenchimento do seu formulário por nomes.

Referência da ação: wpforms_process