javascript - Hur stoppar man spammare från att få e-postadressen från en mailto-länk?


Duplicera :

  • Bästa sättet att förvilla en e-postadress på en webbplats?
  • Effektiv metod för att dölja e-post från spamrobotar
  • Vilka är några sätt att skydda e-postadresser på webbplatser från spambotar?

Vad är det bästa sättet att förhindra att spammare får tag på e-postadressen från dina mailto-länkar? Jag har intrycket att JavaScript kan vara en lösning. Jag vet inte om min nuvarande lösning är idiotsäker, så därför frågar jag.

Här är vad jag gör just nu:

<script language="JavaScript"><!--
var name = "emailusername";
var domain = "yahoo.com";
var text = "[email ";
document.write('<a href=\"mailto:' + name + '@' + domain + '\">');
document.write(text + '</a>');
// --></script>

Finns det ett bättre sätt? Jag gillar inte att behöva ha det här kodstycket överallt där jag vill lägga in en mailto-länk.

Svar #1

  • Bästa sättet att förvilla en e-postadress på en webbplats?
  • Effektiv metod för att dölja e-post från spamrobotar
  • Vilka är några sätt att skydda e-postadresser på webbplatser från spambotar?

Svar #2

Javascript hjälper, men detta hjälper inte mycket. E-postadressen är fortfarande synlig i HTML-koden när man använder denna typ av skript.

De "bästa" alternativen använder klient-sidig JavaScript för att "bygga" e-postadressen av delar, så hela e-postadressen är aldrig synlig i HTML-källan i ett stycke. Webbläsaren sätter ihop den åt dig på klienten.

Exempel :

<script language="JavaScript"><!--
var name = "emailusername";
var domain = "yahoo.com";
document.write('<a href=\"mailto:' + name + '@' + domain + '\">');
document.write(name + '@' + domain + '</a>');
// --></script>