Proteger de spambots el correo de tu página web

Los administradores o propietarios de páginas web tienen la obligación de publicar una dirección de correo electrónico en ella. Sin embargo, mostrarla públicamente conlleva el riesgo de convertirla en blanco de ataques de robots de spam (spambots). ¿Cómo es posible limitar los ataques de los spambots sin incumplir con lo estipulado en el RGPD? A continuación, te mostramos una selección de los métodos más populares y estudiamos sus pros y contras.

Email harvesting: a la caza de los correos electrónicos

Con este nombre se conoce a la obtención automática (también llamada extracción) de direcciones de correo para poder enviar publicidad desleal, para llevar a cabo ataques de phishing o para distribuir software malicioso. Los programas que se utilizan para ello, los denominados “Email harvester” o, como se conocen popularmente, “cazacorreos”, recorren páginas web, listas de correo, foros o plataformas sociales para extraer direcciones de correo electrónico y usarlas con los fines antes expuestos. Para ello, el programa se fija en la sintaxis característica de estas direcciones, como el arroba (@). Los spambots más refinados ya reconocen subterfugios tales como [at], [AT], (at) o (AT).

Aún más revelador que el símbolo arroba es el enlace al correo en HTML según el patrón mailto: usuario@dominio.es. Si los usuarios hacen clic en él, se abrirá un nuevo mensaje en su programa de correo con la dirección de correo de la página web como destinatario. Los propietarios y administradores de páginas web hacen bien, por estos motivos, en rebelarse contra los formatos más clásicos a la hora de disponer sus opciones de contacto públicamente en la red.

Crea tu correo electrónico con IONOS
Descubre una forma nueva de usar tu e-mail
  • Escribe correos electrónicos perfectos con ayuda de la IA (opcional)
  • Dominio gratis más asesor personal
  • Protección contra virus y spam

Así se integra una dirección de correo sin protección

Para encontrar la mejor forma de protegerse de los email collectors, es útil conocer cómo suele integrarse una dirección de correo electrónico en una página web con HTML. Una forma muy sencilla de hacerlo, ofreciendo una visualización sin barreras, es añadiendo este código:

<p>Si desea más información no dude en escribirnos a: 
<a href="mailto: usuario@dominio.es "> usuario@dominio.es </a>.
</p>
html

Desde el punto de vista del usuario, se trata, sin duda, de una visualización ideal. Muchos métodos de protección de direcciones de correo optan, para que este factor de legibilidad y usabilidad se mantenga, por hacerla irreconocible en el código fuente sin que por ello se vea perjudicada la vista en el navegador. Otra posibilidad consiste en separar la dirección de correo de la propia página y crear una redirección del lado del servidor para desviar al usuario al enlace “mailto”.

Consejo

Con el E-mail hosting puedes comunicarte de manera profesional, segura y económica. El servicio incluye direcciones de correo electrónico personalizadas con dominio propio, acceso flexible desde cualquier lugar, solución de calendario y escritorio, función de archivo y mucho más. También podrás disfrutar de los más altos estándares de seguridad gracias a los centros de datos de IONOS con certificación ISO.

Método 1. Captcha

Los captchas permiten proteger de spam a la dirección de correo electrónico de una página web. En este proceso, las direcciones de correo electrónico cifradas solo se muestran en texto sin formato una vez los usuarios han podido demostrar que son humanos, por ejemplo, tras introducir una combinación de letras o números, o al resolver problemas sencillos de aritmética, ejercicios de combinación o rompecabezas.

Consejo

Con reCAPTCHA, Google ofrece un servicio de captcha gratuito.

Los captchas ofrecen un nivel de protección alto contra el spam, ya que con ellos la dirección de correo electrónico se muestra cifrada en el código fuente o directamente no se muestra. Gracias a las numerosas opciones de diseño, es posible hacer que los captchas casen con el diseño de una página web. Sin embargo, la usabilidad de la página web se ve afectada por el esfuerzo adicional que debe hacer el usuario para tener acceso a la dirección de correo electrónico. Además, el uso de captchas no favorece un acceso sin barreras a la información de contacto importante.

Método 2. Sustitución de la dirección en el código fuente

Las estrategias de sustitución borran la dirección completa del código fuente y la sustituyen por una representación gráfica de la misma o por una redirección al link “mailto”.

Insertar la dirección de correo como elemento gráfico

Integrando una dirección de correo electrónico como gráfico se logra mantener la legibilidad, dificultando la tarea a los extractores. Por tanto, este método representa una buena protección contra spam. El siguiente código HTML muestra cómo integrar una dirección de correo como un archivo de imagen:

<img src="Pfad/archivografico.png" with="120" height="20" alt="Si desea más información no dude en escribirnos a: usuario@dominio.es">
html

Aunque la dirección es legible perfectamente para el usuario, no se puede copiar ni enlazar como “mailto”; hecho que no favorece la usabilidad. Además, quienes tienen problemas de visión solo pueden tener acceso a ella con ayuda del atributo alt, que puede ser interpretado por lectores de pantalla, aunque también por spambots. Por ello, no es muy recomendable basar la protección en este método.

Nota

Aunque hay spambots aislados que con la ayuda de OCR (Optical Character Recognition) pueden examinar elementos de imagen en busca de elementos de texto, son una minoría.

Crear una redirección a mailto

Una buena solución a la hora de proteger una dirección de correo electrónico es separarla de la página web en sí. Para ello se utiliza un script que guía a los usuarios tras hacer clic en un enlace al enlace “mailto”, que abre su programa de correo automáticamente. Para los robots que examinan el código de la web, un enlace de este tipo se parece al enlace a un archivo.

Este método se puede implementar, por ejemplo, como un enlace a un archivo PHP conteniendo la redirección:

<p>Si desea más información, no dude en escribirnos a
<a href="redirect-mailto.php">E-Mail</a>.
</p>
html

El contenido del archivo redirect-mailto.php es un script que dirige al enlace “mailto” real.

<?php
header(“Location: mailto:usuario@dominio.es”); 
¿>
html

Por contrapartida, el usuario necesita un programa cliente que pueda acceder a la dirección de correo mediante el enlace “mailto”. En la práctica esto se traduce a un programa de correo web o a un programa de correo como Outlook o Thunderbird.

Método 3. Enmascarar la dirección de correo

Si no se quieren aplicar ninguna de las soluciones mencionadas, cabe la posibilidad de recurrir a estrategias alternativas que permiten codificar las direcciones o enmascararlas.

Codificar la dirección de correo electrónico

Los métodos de codificación más utilizados con el fin de ocultar direcciones de correo a los programas “cazacorreos” se apoyan en entidades de HTML y en la codificación hexadecimal. Este tipo de codificación es adecuado para enmascarar direcciones de correo electrónico, ya que los respectivos caracteres de referencia se traducen automáticamente en la vista del navegador.

Para disfrazar los caracteres propios de una dirección de correo como usuario@dominio.es con ayuda de entidades de HTML, se traducen a esta forma alternativa de escritura:

@ = @ . = . (punto)

Si lo añadimos a la dirección de correo resulta la siguiente frase en el código fuente:

<p>Si desea más información no dude en escribirnos a: 
<a href="mailto:usuario&commat;dominio&period;es">
usuario &commat;dominio&period;es</a>
</p>
html

Para cifrar la dirección entera, es mejor una codificación hexadecimal, para lo cual se recurre a los caracteres Unicode, que se notan siguiendo este esquema:

&#secuenciadecaracteres;

Normalmente se usa el número hexadecimal de cada signo precedido de una pequeña “x”. Es así como la letra “m” se puede traducir como “m” o en formato decimal como “m”. La dirección de nuestro ejemplo usuario@dominio.es, incluido el enlace “mailto”, se traduciría así:

<p>Si desea más información no dude en escribirnos a
<a
href="&#x6d;&#x61;&#x69;&#x6c;&#x74;&#x6f;&#x75;&#x73;&#x75;&#x61;&#x72;&#x69;&#x6f;&#x40;&#x64;&#x6f;&#x6d;&#x69;&#x6e;&#x69;&#x6f;&#x2e;&#x65;&#x73;"</a>
</p>
html
Consejo

En Internet es fácil encontrar listas de caracteres para poder realizar la traducción de la dirección de correo electrónico. En la página htmlarrows.com, por ejemplo, se encuentra una lista elaborada de forma clara y exhaustiva con las equivalencias de todos los caracteres en distintos métodos de codificación.

Con este método se puede codificar una dirección de una forma muy sencilla, pero el nivel de protección es en comparación bastante bajo, ya que entretanto los spambots están programados de tal manera que pueden descifrar sin problemas una forma tan básica de codificación como esta.

Enmascarar una dirección añadiendo elementos

En principio, si se intercalan caracteres adicionales en la dirección de correo electrónico, interrumpiéndola, es posible despistar a las arañas “cazacorreos”, puesto que estos programas ya no percibirían la dirección como un todo, impidiendo la selección automática. Una opción muy sencilla de implementarlo la ofrecen los comentarios en la hoja de HTML:

<!-- Comentario-->
html

Si este tipo de comentario se intercala en la dirección de correo electrónico, los spambots que recorren el código fuente tropiezan con ellos, de forma que no pueden leer la dirección como tal:

<p>Si desea más información no dude en escribirnos a: 
us<!-- Comentario -->uario@domin<!-- Comentario -->io.es.
</p>
html

Mientras que un usuario ve en el navegador la dirección representada correctamente, un spambot selecciona también el texto oculto encapsulado en el elemento. Como inconveniente de este método hay que destacar que la dirección de correo electrónico no puede vincularse a una referencia de correo electrónico HTML. En este caso, los usuarios deben copiar la dirección manualmente en su programa de correo electrónico.

Método 4. Encriptar el correo electrónico

Un método muy utilizado para la encriptación de correo electrónico es ROT13 para el que solo se necesitan unas líneas de código:

<script type="text/javascript">
function decode(a) {
return a.replace(/[a-zA-Z]/g, function(c){
return String.fromCharCode((c <= "Z" ? 90 : 122) >= (c = c.charCodeAt(0) + 13) ? c : c - 26);
})
}; 
function openMailer(element) {
var y = decode("znvygb:orahgmre@qbznva.qr");
element.setAttribute("href", y);
element.setAttribute("onclick", "");
element.firstChild.nodeValue = "Se abre el programa de correo";
};
</script>
<a id="email" href=" " onclick='openMailer(this);'>E-Mail: haz clic aquí</a>
html

En este ejemplo, el código muestra en la línea 9 la versión cifrada de la dirección usuario@dominio.es, incluyendo el “mailto” (znvygb:orahgmre@qbznva.qr), así como define entre las líneas 2 y 7 cómo se ha de descifrar este código. La función de la línea 8 a la 13 abre el programa de correo del usuario y escribe la dirección cifrada en el campo de destinatario. El script se inicia en el momento en que el usuario hace clic en el texto de anclaje E-Mail: haz clic aquí (líneas 15-16), mostrando la frase “Se abre el programa de correo” (línea 12).

IONOS Servicio de Validación

Comprueba la autenticidad de un correo IONOS, detecta aquí de inmediato si es una tentativa de phishing y denúncialo para borrar el contenido phishing.

  • Valida el correo electrónico
  • Fácil de usar
  • Elimina el correo phishing
¿Le ha resultado útil este artículo?
Page top