Domanda

Come si fa a evitare messaggi di posta elettronica di essere raccolti da pagine web da ragni e-mail? Ha mailto: collega ad aumentare la probabilità di loro che sono raccolti? È URL-encoding utile?

Ovviamente il miglior contromisura è mostrare solo gli indirizzi email di utenti connessi, o di fornire un modulo di contatto invece di un indirizzo di posta elettronica. Ma in termini di soluzioni puramente lato client, cosa è disponibile?

È stato utile?

Soluzione 4

A distanza di anni, ho creato il seguente jQuery per un sito web diverso:

$(".email").each(function() {
    $(this).html( $(this).html().replace("...", "@").replace(/\.\.\./g, ".") );
    $(this).attr( "href", $(this).attr("href").replace("...", "@").replace(/\.\.\./g, ".") );
});

Le email vengono quindi scritte come:

<a href="mailto:bob.smith...example...com" class="email">bob.smith...example...com</a>

Non è perfetto, ma è molto semplice e sembra contrastare la maggior parte delle mietitrici di posta elettronica. Il vantaggio di questo metodo è che qualcuno non utilizzando JavaScript sarà probabilmente in grado di capire cosa l'indirizzo di posta elettronica reale è.


Dai un'occhiata a questo studio sui vari metodi di e-mail di offuscamento .

Altri suggerimenti

La maggior parte dei ragni e-mail non hanno interpreti JavaScript, quindi se si ha realmente bisogno la mailto: è possibile iniettare con javascript ... basta assicurarsi che l'indirizzo è oscurata nel javascript in qualche modo, ad esempio,

myLink.href='mai'+'lto:'+'bob'
           +'@'
           +'example.com';

Se avete bisogno di visualizzare l'indirizzo email nella pagina, una soluzione comune è quello di generare un'immagine usando qualcosa come GD di PHP (anche se l'iniezione JavaScript dovrebbe funzionare bene anche per questo).

L'idea è quella di rimuovere gli indirizzi email dal codice HTML e li inietta con javascript. In questo modo l'indirizzo e-mail non appare nella sua forma originale, in ogni parte del traffico HTTP, che è ciò che il ragno sta guardando.

Io tendo ad evitare una mailto quanto rende troppo facile per le persone a raccogliere indirizzi email.

Se avete intenzione di avere pagine di contatto sul vostro sito web, quindi basta avere una forma, e al momento della presentazione il codice lato server e utilizzare l'indirizzo di posta elettronica appropriata.

Se avete bisogno di essere in grado di avere gli indirizzi di altre persone disponibili, utilizzare numeri, nomi, nomi utente, un modo per identificarli.

Se v'è solo un indirizzo email in un arco che rischia di essere prese, anche se si tenta di nasconderlo, come questi programmi possono essere piuttosto complessa, come trovare indirizzi e-mail è quello che stanno facendo.

Come con la maggior parte segreti, se non vuoi che gli altri a farli, non metterli sulla pagina.

Io di solito li contempla in parti separate e poi ri-combinarle utilizzando JavaScript. Il javascript finale fa un document.write per scrivere il codice HTML.

vale a dire.

var mail = "mailto";
var namepart = "test.user";
var domainpart = "example";
var tld = "com"; 
var address = namepart + "@" + domainpart + "." + tld;
document.write("<a href=" + mail + ":" + address + '">' + address + "</a>";

Se non è necessario il collegamento di posta è possibile sostituire il @ simbolo con [at]

Esempio: sam [at] example.com

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top