Introducción
¿Le gustaría bloquear direcciones IP para que no completen su formulario? Puede fácilmente bloquear usuarios para que no completen su formulario con la lista Permitir/Denegar de WPForms, pero ¿sabía que también puede bloquearlos basándose en su dirección IP? En este tutorial, le mostraremos cómo utilizar un pequeño fragmento de PHP para lograr esto.
Para más información sobre cómo crear una lista Permitir/Denegar, consulte este tutorial.
Creación del formulario
Primero, cree su formulario y añada sus campos a este formulario. Si necesitas ayuda para crear tu formulario, consulta esta documentación.
Añadir el fragmento
Una vez creado y publicado el formulario, ya puede añadir este fragmento a su sitio.
Si no está seguro de cómo o dónde añadir fragmentos a su sitio, 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 fragmento buscará primero 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.
Y eso es todo lo que necesita para bloquear direcciones IP de cualquiera de sus WPFForms. ¿Le gustaría también bloquear el envío de formularios por nombre? Echa un vistazo a nuestro tutorial sobre Cómo bloquear nombres de completar su formulario.
Relacionado
Acción Referencia: wpforms_process