webForumDet fria alternativet

Anses detta vara ett säkert sätt att skapa mailto länkar på?

JavaScript

12 svar · 511 visningar · startad av mattiasnordin

Medlem sedan maj 20012 080 inlägg
Frågan#1

Hej, jag försöker att undvika att publisera e-mailadresser på websidor för att inte mailadresssökande robotar ska hitta dessa och sedan bomba mig med spam.

Min teori är att lösningen nedan är relativt säker då adressen skapas på klientsidan.

Tänker jag rätt eller spelar det inte någon större roll ?

<script language="JavaScript">
function safeMail(varSendTo,varDisplay) {
varDomain = "mattiasnordin.net"
document.write ("<a href='MailTO:" +varSendTo +"@" +varDomain +"'>" +varDisplay +'</a>')
}
</script>
<script language="JavaScript">safeMail("mattas.nordin","Mattias Nordin")</script>
Medlem sedan maj 20018 027 inlägg
#2

Jag kan inte alls se varför detta skulle vara säkert. Tänk på vad webbrowsern ser. Det lär ju bli den kompletta mail-adressen. Därmed kan adressen samlas in av en robot.

Medlem sedan maj 20012 080 inlägg
#3

Nu är jag inte med. Hur ser webbrowsern den kompletta mail adressen. En robot letar antagligen efter.

  1. Mailto: taggen och läser source ur denna. I mitt fall returneras: +varSendTo +"@" +varDomain +"'
  2. Letar efter @ tecken. Blir nog svårt att skriva ett skript som gör en emailadress från en fragmenterad adress???

Om jag förstår det rätt så är det först när någon har klickat på länken som den riktiga e-mailadressen existerar. Det bör väl vara betydligt bättre än att skriva adressen i klartext ?

Eller är jag ute och cyklar moutainbike ? :)

Medlem sedan maj 200010 687 inlägg
#4

Om roboten är så smart att den förstår JavaScript så håller det inte.

Störst garanti för att ingen robot snor adresser för dig är väl att göra en bild av det. Men inte heller det är 100% säkert.

Medlem sedan maj 20012 080 inlägg
#5

Jo bilden är nog bra. Men man får dra en linje mellan användarvänlighet / risk. Är det någon som har upplevt javascript varianten som osäker?

Sökte nyss på "safe mailto" och majoriteten (som inte vill köra bilversionen) väljer att köra någon liknande javascript variant. Jag håller mig till den om inte någon annan har ett bättre förslag.

Det måste väl var x% mycket bättre att köra javascript varianten än att skriva ut adressen i klartext med en html mailTo tag?!

:)

Medlem sedan maj 20018 027 inlägg
#6

mattiasnordin skrev:

Nu är jag inte med. Hur ser webbrowsern den kompletta mail adressen. En robot letar antagligen efter.

  1. Mailto: taggen och läser source ur denna. I mitt fall returneras: +varSendTo +"@" +varDomain +"'
  2. Letar efter @ tecken. Blir nog svårt att skriva ett skript som gör en emailadress från en fragmenterad adress???

Om jag förstår det rätt så är det först när någon har klickat på länken som den riktiga e-mailadressen existerar. Det bör väl vara betydligt bättre än att skriva adressen i klartext ?

Eller är jag ute och cyklar moutainbike ? :)

Nu är jag egentligen inte webbutvecklare själv, så jag kan ha fel om detaljerna. Jag tänker på följande vis: Vad har du mailto-länken till? Måste det inte vara en komplett mail-adress för att mailto-länken ska fungera? Din javascriptsfunktion med "document.write", vad skriver document.write till för något? Är det något som webläsaren kan se? Om inte, vad används då document.write till? Om document.write faktiskt skriver till den textström som du skickar till webläsaren, då blir det ju precis som om du hade skrivit hela adressen direkt på websidan.

Medlem sedan maj 20012 080 inlägg
#7

Tack ulf. Det är mycket möjligt att en robot inte alls gör som jag trott, dvs läser av sourcekoden. Det är det jag försöker få svar på :)

Det jag funderar över är att "textströmen" inte innehåller den kompletta mailto datat i huvudtaget innan någon har klickat på länken. Javascript exekveras/kompileras på klienten så det skickas aldrig från servern till klienten på det sättet.

Hejja Ulf. Bevisa att jag tänker fel. :)

Vi kan väl omformulera frågan lite. Är det säkrare att köra javascript varianten än inte? Då är kanske svaret inte så relativt.

Intressant ämne!

Medlem sedan mars 20015 287 inlägg
#8

Utan att egentligen veta, men banne mig måste ditt script vara bra mycket bättre än ren klartext. Kan inte tänka mig att så värst många robotar klarar av, eller om man säger som så, ger sig på liknande script.

Men som sagt, bara personliga tankar.

Medlem sedan juni 20014 290 inlägg
#9

En variant som jag använder finns här: http://www.gunnard.se/tipstrix/javascript.phtml då skrivs inte mailadressen ut i det html dokument som webläsaren ser.

Mailadressen skapas först när man "klickar" på länken. (vilket en robot kan göra).

Medlem sedan dec. 20025 483 inlägg
#10

Jag använder en variant liknande din Mattias och har aldrig haft några spamproblem.

Dock finns det ju säkrare sätt genom användandet av serverspråk.

:)

Medlem sedan maj 20012 080 inlägg
#11

Kul att se att exemplet som GunnarD hänvisar till såg någorlunda lika ut som mitt. Jag som alltid har ansett mig vara novis inom området. Ha ha...

Jag funderade faktiskt på att ta bort exekveringen ur <a href=""... och ersätta det med onClick event på något annat. Det kan nog vara lite bättre men nu nöjer jag mig med ovan.

Jag håller nog med Solbulle. Det låter komplicerat att skapa en robot som är effektiv på dessa länkar. Men det skulle inte förvåna mig om det är någon som har försökt.

Tackar alla för en givande diskussion ! :)

Medlem sedan mars 200459 inlägg
#12

Re: Anses detta vara ett säkert sätt att skapa mailto länkar på?

För att en spambot skall kunna hitta en javascript email länk måste spamboten köra allt javascript på en sida, precis som en vanlig webbläsare. Det kommer de säkert att klara förr eller senare, även om det kräver mycket större datorkraft att göra det på miljontals sidor jämfört med att bara leta efter "mailto" textsträngar i källkoden.

Hittills har jag haft god erfarenhet av den här varianten:

<script type="text/javascript">
var foo = "xailto:";
var bar = "namnydomainvse";
foo = foo.replace("x","m");
bar = bar.replace("y","@").replace("v",".");
document.write('<a href="' + foo + bar + '">' + bar + '<\/a>');
</script>
<noscript>
Här kan man ha en bild med email adressen på, en länk till ett email formulär, en förklarande text, etc.
</noscript>

Men tänk på att spammare numera kan hitta en adress på fler sätt än att bara söka av hemsidor. En del trojaner söker tex av infekterade datorer där din email adress kan vara sparad. Har någon en gång skickat eller mottagit email från dig kanske din adress redan kommit ut. Jag vet tyvärr inget sätt att skydda sig mot det...

Medlem sedan maj 20012 080 inlägg
#13

:)

260 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)