Bloquea direcciones de correo y dominios spam en Formulario de contacto de Blogger

Bloquea direcciones de correo y dominios spam en Formulario de contacto de blogger

 Vamos a ver cómo bloquear direcciones de correo y dominios spam en tu Formulario de contacto

Un problema común cuando tienes un blog de blogger y tienes Formulario de contacto es que este sea utilizado por spamers para enviar su  basura.
Lo que vamos a hacer es insertar un script que hace lo siguiente:
✅ Bloquea emails de la lista y dominios si los añadiste.
 ✅ Cancela la petición AJAX en todos los casos bloqueados.

Sígueme

En el Panel de control de Blogger vamos a Tema
 
Bloquea direcciones de correo y dominios spam en Formulario de contacto de blogger
Siguiente paso Editar HTML
Bloquea direcciones de correo y dominios spam en Formulario de contacto de blogger

A partir de aquí se debe tener mucho cuidado, pues un error puede hacer que nuestra página no cargue.

Daremos clic en el centro de la ventana y pulsaremos las teclas CTRL + F y escribiremos </body> para que nos lleve a su ubicación
Bloquea direcciones de correo y dominios spam en Formulario de contacto de blogger
Justo antes de </body> pegaremos el siguiente script 
<script type=’text/javascript’>
//<![CDATA[
(function () {// === LISTA DE EMAILS BLOQUEADOS ===
var listaBloqueados = [
«correo1@ejemplo.com»,
«correo2@ejemplo.com»
];// === OPCIONAL: DOMINIOS BLOQUEADOS ===
var dominiosBloqueados = [
«spam.com»,
«mailtest.com»
];

function emailBloqueado(email) {
if (!email) return false;
email = email.toLowerCase().trim();

// Bloqueo por email exacto
for (var i = 0; i < listaBloqueados.length; i++) {
if (email === listaBloqueados[i].toLowerCase()) return true;
}

// Bloqueo por dominio
var parts = email.split(«@»);
if (parts.length === 2) {
var dominio = parts[1];
for (var j = 0; j < dominiosBloqueados.length; j++) {
if (dominio === dominiosBloqueados[j].toLowerCase()) return true;
}
}

return false;
}

// === FUNCION PARA LIMPIAR MENSAJE DE ESTADO ===
function resetEstado() {
var status = document.querySelector(«.contact-form-status-message»);
if (status) {
status.innerHTML = «»;
status.style.display = «none»;
}

// Restaurar botón
var btn = document.querySelector(«.contact-form-button»);
if (btn) {
btn.disabled = false;
btn.classList.remove(«disabled»);
}
}

// === INTERCEPTAR CLICK EN EL BOTÓN ===
document.addEventListener(«click», function(e) {
var btn = e.target;
if (!btn.classList || !btn.classList.contains(«contact-form-button»)) return;

var emailInput = document.querySelector(«input[type=’email’]»);
if (!emailInput) return;

var email = emailInput.value;

if (emailBloqueado(email)) {
e.preventDefault();
e.stopImmediatePropagation();

// Restaurar estados inmediatamente y varias veces
setTimeout(resetEstado, 0);
setTimeout(resetEstado, 20);
setTimeout(resetEstado, 50);

console.log(«ENVÍO BLOQUEADO:», email);

return false;
}
}, true); // fase de captura

// === BLOQUEO REAL DE LA PETICIÓN AJAX ===
var sendOriginal = XMLHttpRequest.prototype.send;
XMLHttpRequest.prototype.send = function(data) {
try {
if (typeof data === «string» && data.indexOf(«email=») !== -1) {
var params = data.split(«&»);
for (var i = 0; i < params.length; i++) {
if (params[i].indexOf(«email=») === 0) {
var email = decodeURIComponent(params[i].substring(6));
if (emailBloqueado(email)) {
// Reset del estado visual
setTimeout(resetEstado, 0);
setTimeout(resetEstado, 50);
return; // cancelar envío
}
}
}
}
} catch (e) {}
return sendOriginal.apply(this, arguments);
};

})();
//]]>
</script>

Lo que vemos marcado en verde son las direcciones de correo y los dominios spam que queremos bloquear, modificar ese apartado y listo
Y para asegurarnos que todo está bien construido y acorde a nuestra plantilla antes de guardar cambios clicaremos en Vista previa del Tema 
 
Bloquea direcciones de correo y dominios spam en Formulario de contacto de blogger
Si todo está bien y no hay ningún error HTML ya podemos Guardar los cambios
 
Y comprobaremos que si escribimos en el Formulario de contacto la dirección de correo que hemos bloqueado, escribimos mensaje y clicamos en Enviar, el botón se quedará en bucle en «Enviando» y el correo no se enviará a nuestra bandeja.
Bloquea direcciones de correo y dominios spam en Formulario de contacto de blogger
Cabe añadir que este código no va a funcionar en todas las plantillas de blogger, siempre dependerá de la clase especifica, esta en concreto es .contact-form-button, si la vuestra es otra clase, sólo sería modificarla en el código y ya debería funcionar.
 Cómo siempre espero que este Tutorial os sea de utilidad y si es así compartirlo en vuestras redes sociales.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *