¿Cómo puedo usar PHP para ocultar direcciones de correo electrónico para que no se cosechan fácilmente por los spammers? [duplicar]

StackOverflow https://stackoverflow.com/questions/385620

Pregunta

Estoy de programación en PHP y me gustaría crear páginas web que tienen direcciones de correo electrónico que pueden ser fácilmente leídas por los seres humanos, pero no cosechan fácilmente por los spammers. Las direcciones de correo electrónico están viniendo de la entrada del usuario, y creo que puedo identificar una dirección utilizando una expresión regular, pero no estoy claro exactamente cómo debería sustituir a las direcciones de correo electrónico o con lo que, con el fin de mantener a los robots de spam más automatizados de cosecharlas.

He aquí una idea: (pseudo código)

(email)@(domain.com) $1<span class="remove">DELETE</span>$2

.remove {
   display: none;
}

Esperamos que el robot se disparará hasta en la etiqueta span.

Por último, estoy buscando una solución que no moleste a direcciones de correo electrónico que se encuentran dentro de las etiquetas mailto:.

Duplicar de ¿Cómo puedo prevenir prevenir los robots de recoger direcciones de correo electrónico que es duplicado de ¿Cuáles son algunas maneras de proteger los correos electrónicos en los sitios web de spam? y tal vez algunos otros ...

¿Fue útil?

Solución

Puede ocultar que el uso de CSS, así ...

<span class="email-encrypt">moc.liamelgoog@avynnib<span class="email-decrypt-message">(Reverse this text to get my Email address)</span></span>

/*Decrypt Email */
.email-encrypt {
    unicode-bidi:bidi-override;
    direction: rtl;
}
.email-encrypt .email-decrypt-message {
    display:none;
}

Edit: Aquí, la dirección de correo electrónico en el origen está en marcha atrás - lo que las declaraciones CSS hace es que se revierte la dirección de correo electrónico a su forma original. Espero que tenga sentido.

Pero no estoy seguro de la eficacia de este es - hay muchos robots que simulan un entorno de navegador. Creo que soy mejor de decir algo así como -. Mi correo es binnyva, googlemail

Otros consejos

GD y crear imagen de su ID de correo electrónico

Puede utilizar el PHP GD biblioteca para crear fácilmente una imagen de cualquier texto dado.

Un ejemplo de código se verá así,

<?php
  header("Content-type: image/png");
  $im = @imagecreate(110, 20)or die("Cannot Initialize new GD image stream");
  $background_color = imagecolorallocate($im, 0, 0, 0);
  $text_color = imagecolorallocate($im, 255, 255, 255);
  imagestring($im, 1, 5, 5,  "anything@domain.com", $text_color);
  imagepng($im);
  imagedestroy($im);
?>

Ventajas:

  • Los spammers no sólo puede capturarlo, a menos que usen un programa de OCR: p
  • muy bajo costo operativo, utilizando el formato PNG / GIF
  • Se puede crear sobre la marcha para cualquier texto

Desventajas:

  • No se puede hacer clic en el correo, como un enlace
  • No funciona con motores de TTS, un -ve para personas con impedimentos visuales.

una opción: Javascript correo electrónico ofuscación , y las imágenes cuando javascript fue deshabilitada

El truco anterior (usando CSS) es casi seguro que no funciona. No sé si los robots se molestó en mirar a CSS en absoluto, de hecho, no estoy completamente seguro de que leen HTML, que probablemente sólo coincide con la página entera en algunos de expresiones regulares.

Por otro lado, esto hace poisioning sus listas con spamtraps bastante fácil. Si quieres una dirección particular para recibir el spam (correo no deseado y sólo) para formar a sus filtros, se puede poner direcciones de correo electrónico en la página que los usuarios normales no podrán ver o haga clic en, sólo los robots de spam.

De hecho, hacer un experimento -. Escribir un número de diferentes direcciones de correo electrónico con diferentes tipos de enlace, y ver cuántos mensajes de spam que reciben

Lo probé hace unos meses con un enlace normal en mi sitio web, que tomó cerca de tres semanas antes de la trampa comenzó a recibir correo no deseado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top