Ocultar E-Mail a Robots
Muchas veces nos encontramos con que al publicar una página web, algunos de nuestros correos comienzan a saturarse de SPAM, esto es porque generalmente publicamos un email de contacto correocontacto@newbie.cl. Para los robots, esto es ideal ya que al escanear nuestra página se encontraran con todas la direcciones email que tengamos publicadas, estos correos van a una base de datos que posteriormente es utilizada por empresas de SPAM.
Con este simple código, podemos evitar que muchos de estos robots detecten nuestro correo y también que se sature nuestro mail.
PHP
<?PHP
⁄*
* Devuelve una cadena en su valor ascii
* para ser interpretada por los navegadores
*⁄
function encodeMailAscii($mail){
for($i=0;$i<strlen($mail);$i++){
$result.=”&#”.ord($mail[$i]);
}
return $result;
}
⁄*
* Devuelve una cadena en su valor hexadecimal
* para ser interpretada por los navegadores
*⁄
function encodeMailHexadecimal($mail){
for($i=0;$i<strlen($mail);$i++){
$result.=”&#x”.bin2hex($mail[$i]);
}
return $result;
}
?>
<a href=”mailto:<?PHP echo encodeMailAscii(”correocontacto@newbie.cl”)?>”><?PHP echo encodeMailAscii(”correocontacto@newbie.cl”)?></a>
<a href=”mailto:<?PHP echo encodeMailHexadecimal(”correocontacto@newbie.cl”)?>”><?PHP echo encodeMailHexadecimal(”correocontacto@newbie.cl”)?></a>
ASP
<%
‘
‘ Devuelve una cadena en su valor ascii
‘ para ser interpretada por los navegadores
‘
function encodeMailAscii(mail)
dim result
for i=1 to len(mail)
result = result & “&#” & asc(mid(mail, i, 1)) & “;”
next
encodeMailAscii = result
end function
‘
‘ Devuelve una cadena en su valor hexadecimal
‘ para ser interpretada por los navegadores
‘
function encodeMailHexadecimal(mail)
dim result
result = “”
for i=1 to len(mail)
result = result & “&#x” & hex(asc(mid(mail, i, 1))) & “;”
next
encodeMailHexadecimal = result
end function
%>
<a href=”mailto:<% response.Write(encodeMailAscii(”correocontacto@newbie.cl”))%>”><% response.Write(encodeMailAscii(”correocontacto@newbie.cl”))%></a>
<a href=”mailto:<% response.Write(encodeMailHexadecimal(”correocontacto@newbie.cl”))%>”><% response.Write(encodeMailHexadecimal(”correocontacto@newbie.cl”))%></a>
JavaScript - Prototype
<script type="text/javascript" src="http://www.newbie.cl/js/prototype.js"></script>
<script type=”text/javascript”>
function email(a_id, user, domain){
et = String.fromCharCode(64);
a = $(a_id);
email = user+et+domain;
a.update(email);
a.title = email;
a.href = email;
}
</script>
<a id=”cemail” href=”" title=”"></a>
<script type=”text/javascript”>email(”cemail”, “correocontacto”, “newbie.cl”);</script>
HTML y XHTML
En un sitio creado 100% en HTML o XHTML, se puede utilizar @ a cambio de @, o reemplazando el caracter o el e-mail completo con una imagen:
<a href=”mailto:correocontacto@newbie.cl” >correocontacto@newbie.cl</a>
<a href=”mailto:correocontacto@newbie.cl” >correocontacto<img src=”imagen/arroba.gif” alt=”@”/>newbie.cl</a>
<a href=”mailto:correocontacto@newbie.cl” ><img src=”imagen/correocontacto_et_newbie.gif” alt=”correocontacto@newbie.cl”/></a>



May 8th, 2008 at 10:57 pm
buen dato :), ya que mi mail se estaba comenzando a llenar de maldito spam, saludos
June 23rd, 2008 at 9:23 pm
donde pongo ese codigo? :O
de antemano se agradece =D
June 24th, 2008 at 12:31 pm
Si no conoces ninguno de estos lenguajes, minimo leete un tutorial basico.
De todos modos solo basta con pegar alguno de las lineas de HTML y XHTML en alguna parte de tu página entre “<body>” y “</body>”, no olvides modificar la direccion y si usas imagenes recuerda que estas debes crearlas tú.
Saludos
June 24th, 2008 at 9:05 pm
nah nah viejo si cacho a grandes rasgos el lenguaje
es q habia entendido mal, pense q era pa q no te llenaran el mail de spam los bots xD
no pa q no se metieran a tu pagina los bots =P
saludos y gracias por la aclaracion
wena pag
November 8th, 2008 at 6:15 pm
Otra forma de ocultar el correo es usar el servicio que ofrece http://oculto.no-ip.org
permite crear una imagen con el e-mail, de forma que los bots no lo encuentran en el código fuente de la pag.
Otra ventaja es que si cambias de correo, puedes actualizar la imagen de tu correo, de forma que donde ya has dejado la imagen, también se actualizará.
November 8th, 2008 at 8:42 pm
Gracias AVSoftware por el aporte.