2011-04-10 13 views
5

¿Pueden ustedes publicar métodos de enlace de correo electrónico de protección contra correo no deseado (en php o javascript)?Buenos métodos de protección de enlace de correo electrónico

Básicamente quiero poner un enlace "mailto" en una página web, como

<a href="mailto:[email protected]">E-mail me</a>

pero no quieren que los robots de spam para recogerlo y luego me correos electrónicos no deseados Con la ampliación del pene :)

Hasta ahora, he encontrado una ofuscador Javascript aquí: http://www.jottings.com/obfuscator/ No está seguro de qué tan efectiva es, aunque ..

Respuesta

4

Aquí está una related question y la respuesta aceptada cubre algunos métodos de protección y lo bien que funcionan.

Su mejor opción es utilizar CSS código de redirección como tal (tomado de ese enlace):

<span style="unicode-bidi:bidi-override; direction: rtl;"> 
[email protected] 
</span> 
+0

Voy a probar el Método CSS :) – Alex

+0

¿Funciona en todos los navegadores? – s3v3n

+0

Debería funcionar en todos los navegadores modernos.Sin embargo, no estoy seguro de si ese enlace * se podrá hacer clic *. – evgeny

2

he tenido buena suerte con el reCAPTCHA email hide utility, sobre todo si ya está USI ng reCAPTCHA.

+3

odio :(reCAPTCHAs su diseño chupa y tienen captchas molestos: x – Alex

+0

puedes personalizar el diseño de ReCaptcha usando css http://wiki.recaptcha.net/index.php/Theme –

+1

wtf google buy recaptcha? :) – Alex

5

JavaScript Solución

con JavaScript que puede hacer lo siguiente.

emailE = ('[email protected]' + 'emailserver.com') 
document.write('<A href="mailto:' + emailE + '">' + emailE + '</a>') 

Con esto, los rastreadores ya no pueden leer su correo electrónico desde el código fuente.

solución PHP

con PHP puede convertir su correo electrónico a valores Unicode

function converte($email) { 
    $p = str_split(trim($email)); 
    $new_mail = ''; 
    foreach ($p as $val) { 
     $new_mail .= '&#'.ord($val).';'; 
    } 
    return $new_mail; 
} 

y en su página de utilizar la función como la salida de código

<?php echo converte('[email protected]'); ?> 

Fuente será algo como

&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109; 
0

escribí una función PHP que lleva un correo electrónico, lo divide, a continuación, utiliza JavaScript para poner de nuevo juntos

<?php 
function php_split_js_make_email($phpemail) 
{ 
    $pieces = explode("@", $phpemail); 

    echo ' 
     <script type="text/javascript"> 
      var a = "<a href=\'mailto:"; 
      var b = "' . $pieces[0] . '"; 
      var c = "' . $pieces[1] .'"; 
       var d = "\' class=\'email\'>"; 
       var e = "</a>"; 
       document.write(a+b+"@"+c+d+b+"@"+c+e); 
      </script> 
      <noscript>Please enable JavaScript to view emails</noscript> 
     '; 
    } 
?> 

Demostración: http://djave.co.uk/php-js-email-protector/

+0

¿Qué pasa si JS está deshabilitado? (sí, viviendo en un mundo loco) – sitilge

Cuestiones relacionadas