Come bloccare gli indirizzi IP dalla compilazione del modulo

Introduzione

Volete bloccare gli indirizzi IP dalla compilazione del vostro modulo? Potete facilmente bloccare gli utenti dalla compilazione del vostro modulo con la lista Allow/Deny di WPForms, ma sapevate che potete anche bloccarli in base al loro indirizzo IP? In questo tutorial, vi mostreremo come utilizzare un piccolo snippet PHP per ottenere questo risultato.

Per ulteriori informazioni sulla creazione di un elenco di permessi/rifiuti, consultare questa esercitazione.

Creazione del modulo

Per prima cosa, creare il modulo e aggiungere i campi a questo modulo. Se avete bisogno di aiuto per la creazione del modulo, consultate questa documentazione.

iniziare creando il modulo e aggiungendo i campi

Aggiunta dello snippet

Una volta creato e pubblicato il modulo, è possibile aggiungere questo snippet al sito.

Se non siete sicuri di come o dove aggiungere gli snippet al vostro sito, consultate questo 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 );

Questo snippet troverà innanzitutto l'indirizzo IP dell'utente e se corrisponde all'elenco degli indirizzi IP bloccati, il modulo non verrà inviato e verrà visualizzato un errore.

con questo snippet è possibile bloccare gli indirizzi IP

Questo è tutto ciò di cui avete bisogno per bloccare gli indirizzi IP dall'invio di moduli WPFForm. Volete bloccare anche l'invio di moduli per nome? Consultate il nostro tutorial su Come bloccare i nomi dalla compilazione del modulo.

Riferimento azione: wpforms_process