¡Atención!

Este artículo contiene código PHP y está destinado a desarrolladores. Ofrecemos este código como cortesía, pero no proporcionamos soporte para personalizaciones de código o desarrollo de terceros.

Para obtener ayuda adicional, consulta el tutorial de WPBeginner sobre cómo añadir código personalizado.

Descartar

Cómo bloquear direcciones IP para que no completen tu formulario

Introducción

¿Le gustaría bloquear direcciones IP para que no completen su formulario? Puede bloquear fácilmente a los usuarios para que no completen su formulario con la lista de Permitir/Denegar de WPForms, pero ¿sabía que también puede bloquearlos basándose únicamente en su dirección IP? En este tutorial, le mostraremos cómo usar un pequeño fragmento de PHP para lograr esto.

Para obtener más información sobre cómo crear una lista de Permitir/Denegar, revise este tutorial.

Creación del formulario

Primero, cree su formulario y agregue sus campos a este formulario. Si necesita ayuda para crear su formulario, consulte esta documentación.

comience creando su formulario y agregando sus campos

Añadir el fragmento

Una vez que el formulario esté creado y publicado, puede agregar este fragmento a su sitio.

Si no está seguro de cómo o dónde agregar fragmentos a su sitio, revise 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 fragmento primero encontrará la dirección IP del usuario y, si coincide con la lista de direcciones IP bloqueadas, el formulario no se enviará y se mostrará un error.

con este fragmento ahora puede bloquear direcciones IP

Y eso es todo lo que necesita para bloquear direcciones IP de que envíen a cualquiera de sus formularios WPF. ¿Le gustaría también bloquear envíos de formularios por nombre? Consulte nuestro tutorial sobre Cómo bloquear nombres para que no completen su formulario.

Referencia de acción: wpforms_process