WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   Kryptera e-postadresser (https://www.wn.se/forum/showthread.php?t=3761)

Jester 2004-09-19 16:08

Jag håller på med en webbplats till en intresseförening som vill publicera sina medlemmars e-postadresser i ett slags register som skall vara öppet för alla medlemmar. Problemet är att den nuvarande sidan har blivit spindlad av diverse robotar som plockat e-postadresserna och lagt in dem i diverse mindre seriösa mailinglistor.

Jag har tidigare användt mig av HTML-entities för att "gömma" adresserna för oönskade robotar. Nu har jag fått höra från diverse håll att inte heller denna metod fungerar speciellt bra. Vad göra? Det är ganska stora kvantiteter vi talar om. 1000< användare.

Jag vet att ska finna en gammal tråd om detta, men jag kunde tyvärr inte hitta denna. Sökfunktionen suger <_<

//MVH Martin

Starweb 2004-09-19 16:31

Dynamiskt genererade bilder där det står mailadressen i bilden via tex. PHP går ju bra.
Exakt hur man gör detta är jag osäker på, men det finns det en uppsjö av forum och artiklar att läsa in sig på.

www.php.net + www.php-builder.com etc.

Robert 2004-09-19 16:46

Där du i din html vill visa en emailadress som är klickbar kan du köra typ denna javascriptfunktion som du bara anropar:

Kod:

function antiMail(imgsrc, name, domain){
  document.write("<a href=" + "mail" + "t" + "o:" + name + "@" + domain + ">" + name + "<img valign=absmiddle src=" + imgsrc + " border=0>" + domain + "<"+"/"+"a>")
}

imsrc används i detta fall till att visa en bild av ett @ tecken...

guran 2004-09-22 21:33

Jag har använt mig av följande två funktioner i javascript. Med dem går det att skriva klickbara maillänkar.

Kod:

function mailtolink(user_name, host_name)
{
 var linktext = user_name + "@" + host_name;
 document.write("<a href=" + "mail" + "to:" + user_name +
 "@" + host_name + ">" + linktext + "</a>");
}
function mailtext(user_name, host_name) 
{
 var mail_text = user_name + "@" + host_name;
 document.write(mail_text);
}

Den första funktionern är tänkt för en klickbar mailadress och den andra när man vill skriva en e-postadress i texten som inte är klickbar. De läggs in i html-koden enligt <script>mailtolink("info","wn.se");</script>

Nackdelen är dock att t.ex. webbläsare för synskadade inte kan tolka dessa adresser.

Neo 2004-09-22 21:38

Jag rekommenderar en Google sökning

Jester 2004-09-22 22:30

Citat:

Originally posted by Neo@Sep 22 2004, 21:38
Jag rekommenderar en Google sökning
Been there, done that ;)

Robert 2004-09-23 07:47

Citat:

Originally posted by guran@Sep 22 2004, 21:33
Jag har använt mig av följande två funktioner i javascript. Med dem går det att skriva klickbara maillänkar.

Kod:

function mailtolink(user_name, host_name)
{
 *var linktext = user_name + "@" + host_name;
 *document.write("<a href=" + "mail" + "to:" + user_name +
 *"@" + host_name + ">" + linktext + "</a>");
}
function mailtext(user_name, host_name) * *
{
 *var mail_text = user_name + "@" + host_name;
 *document.write(mail_text);
} *

Den första funktionern är tänkt för en klickbar mailadress och den andra när man vill skriva en e-postadress i texten som inte är klickbar. De läggs in i html-koden enligt <script>mailtolink("info","wn.se");</script>

Nackdelen är dock att t.ex. webbläsare för synskadade inte kan tolka dessa adresser.

Känns väldigt likt den funktion jag postade... =)

elofsson 2004-09-23 23:38

Varför inte använda en login till adresserna med användarnamn och lösenord? Funkar inte det?

kullervo 2004-09-24 11:27

Som tidigare sagts måste bilder vara bäst. Jag använder bilder på mina siter. Använd mod_rewrite eller motsvarande för att få till snygga filnamn.

Robert 2004-09-24 12:46

Citat:

Originally posted by kullervo@Sep 24 2004, 11:27
Som tidigare sagts måste bilder vara bäst. Jag använder bilder på mina siter. Använd mod_rewrite eller motsvarande för att få till snygga filnamn.
I informativt syfte duger bilder bra, men rent praktiskt; att klicka på emailen för att maila, hur går det med det?

kullervo 2004-09-24 23:06

Citat:

Ursprungligen postat av Robert
Citat:

Ursprungligen postat av kullervo
Som tidigare sagts måste bilder vara bäst. Jag använder bilder på mina siter. Använd mod_rewrite eller motsvarande för att få till snygga filnamn.

I informativt syfte duger bilder bra, men rent praktiskt; att klicka på emailen för att maila, hur går det med det?

Det går såklart inte. Om webbläsaren förstår att det är en e-postadress så förstår självklar epost-spindlarna det också.

cornelii 2004-09-24 23:10

Alltså det sätt som jag använder är ganska spindelovänligt. Jag hämtar email adressen från databasen efter att dom har skrivit sitt mess och sen skickar det. Gör det med serverkod istället!

Robert 2004-09-25 14:06

Citat:

Ursprungligen postat av kullervo
Citat:

Originally posted by -Robert@Sep 24 2004, 12:46
Citat:

Ursprungligen postat av kullervo
Som tidigare sagts måste bilder vara bäst. Jag använder bilder på mina siter. Använd mod_rewrite eller motsvarande för att få till snygga filnamn.

I informativt syfte duger bilder bra, men rent praktiskt; att klicka på emailen för att maila, hur går det med det?


Det går såklart inte. Om webbläsaren förstår att det är en e-postadress så förstår självklar epost-spindlarna det också.

Javisst, men kan spindlarna köra javascript? Antagligen inte, så därför är de kodexempel som angavs ovan att föredra.

Robert 2004-09-25 14:07

Citat:

Originally posted by cornelii@Sep 24 2004, 23:10
Alltså det sätt som jag använder är ganska spindelovänligt. Jag hämtar email adressen från databasen efter att dom har skrivit sitt mess och sen skickar det. Gör det med serverkod istället!
Detta förutsätter att mailen skickas via websidan. Den lösning som angavs ovan är mer generell (användare använder sitt eget mailprogram för att maila).

kullervo 2004-09-26 17:01

Citat:

Ursprungligen postat av Robert
Citat:

Originally posted by -kullervo@Sep 24 2004, 23:06
Citat:

Originally posted by -Robert@Sep 24 2004, 12:46
Citat:

Ursprungligen postat av kullervo
Som tidigare sagts måste bilder vara bäst. Jag använder bilder på mina siter. Använd mod_rewrite eller motsvarande för att få till snygga filnamn.

I informativt syfte duger bilder bra, men rent praktiskt; att klicka på emailen för att maila, hur går det med det?


Det går såklart inte. Om webbläsaren förstår att det är en e-postadress så förstår självklar epost-spindlarna det också.


Javisst, men kan spindlarna köra javascript? Antagligen inte, så därför är de kodexempel som angavs ovan att föredra.

Tyckte mig läsa det i en tråd här på WN för några månader sedan. Dom blir ju dessutom bara mer avancerade hela tiden dessutom.

Anders 2004-09-26 21:41

Citat:

Originally posted by Robert@Sep 25 2004, 14:06
Javisst, men kan spindlarna köra javascript? Antagligen inte, så därför är de kodexempel som angavs ovan att föredra.
Om jag skriver en spindel som ska söka efter e-mailadresser så lär jag ju göra så den kan läsa JS... Jag tjänar ju bättre på det.

Robert 2004-09-26 22:55

Citat:

Ursprungligen postat av Anders
Citat:

Ursprungligen postat av Robert
Javisst, men kan spindlarna köra javascript? Antagligen inte, så därför är de kodexempel som angavs ovan att föredra.

Om jag skriver en spindel som ska söka efter e-mailadresser så lär jag ju göra så den kan läsa JS... Jag tjänar ju bättre på det.

Ok du vinner. mailrobotar läser javascript, parsar resultatet virtuellt och läser sedan av den rendrerade design som blev på den virtuella "displayen" i minnet.

Anders 2004-09-27 00:21

Citat:

Ursprungligen postat av Robert
Citat:

Originally posted by -Anders@Sep 26 2004, 21:41
Citat:

Ursprungligen postat av Robert
Javisst, men kan spindlarna köra javascript? Antagligen inte, så därför är de kodexempel som angavs ovan att föredra.

Om jag skriver en spindel som ska söka efter e-mailadresser så lär jag ju göra så den kan läsa JS... Jag tjänar ju bättre på det.


Ok du vinner. mailrobotar läser javascript, parsar resultatet virtuellt och läser sedan av den rendrerade design som blev på den virtuella "displayen" i minnet.

Så avancerat behöver man ju inte göra det. Men att parsa trolleriet med strängar i JS borde ju inte vara svårt...
Huvudsaken är väl att man har tänkt på att möjligheten finns. Om man då skiter i det och skapar en lösning som tillåter vissa (mer avancerade) spindlar att ändå läsa adresserna så får man ju ta det då.

Robert 2004-09-27 07:56

Citat:

Ursprungligen postat av Anders
Citat:

Originally posted by -Robert@Sep 26 2004, 22:55
Citat:

Originally posted by -Anders@Sep 26 2004, 21:41
Citat:

Ursprungligen postat av Robert
Javisst, men kan spindlarna köra javascript? Antagligen inte, så därför är de kodexempel som angavs ovan att föredra.

Om jag skriver en spindel som ska söka efter e-mailadresser så lär jag ju göra så den kan läsa JS... Jag tjänar ju bättre på det.


Ok du vinner. mailrobotar läser javascript, parsar resultatet virtuellt och läser sedan av den rendrerade design som blev på den virtuella "displayen" i minnet.


Så avancerat behöver man ju inte göra det. Men att parsa trolleriet med strängar i JS borde ju inte vara svårt...
Huvudsaken är väl att man har tänkt på att möjligheten finns. Om man då skiter i det och skapar en lösning som tillåter vissa (mer avancerade) spindlar att ändå läsa adresserna så får man ju ta det då.

Man får nog göra en ganska bra parser (eller "semi kompilator" eller vad man ska kalla det) för att knåpa ihop det här:

Citat:


document.write("<a href=" + "mail" + "t" + "o:" + name + "@" + domain + ">" + name + "[img] + imgsrc + [/img]" + domain + "<"+"/"+"a>")

Man kan väl tycka att det borde vara lättare för en robot att köra OCR på en bild via något gratis objekt som florerar än att halvt om halvt kompilera javascript.

kullervo 2004-09-27 15:55

Citat:

Originally posted by Robert@Sep 27 2004, 07:56
Citat:


document.write("<a href=" + "mail" + "t" + "o:" + name + "@" + domain + ">" + name + "[img] + imgsrc + [/img]" + domain + "<"+"/"+"a>")

Man kan väl tycka att det borde vara lättare för en robot att köra OCR på en bild via något gratis objekt som florerar än att halvt om halvt kompilera javascript.

Kan man göra ett mer simpelt javascript? :D Det där måste ju vara en barnlek att avkoda.

Varför rendera sidan och sedan köra OCR? Enklare och snabbare att hoppa över det steget. Mozilla är ju open source. Tror t.om. att IE finns som komponenter (eller vad det heter) till VB/.NET som är perfekt att använda. Bara öppna rätt URL och leta efter mailadresser i såsen efter att den kört alla javascript.

Peter 2004-09-27 17:03

Vad sägs om något i den här stilen...? ( Källa: http://www.html-gruppen.nu/scripts/yabb/Ya...61166;start=0#0 )
Kod:

<style type="text/css">
.backwards {direction: rtl; }
</style>

Mail: <span class="backwards">moc.liame@nim</span>

...säkert endel spindlar som fixar detta också, men är nog inte så vanligt än iaf...

Jester 2004-09-27 17:43

Tack Peter! Det var precis en sådan enkel metod jag letade efter. Om inte någon kommer med någon invändning mot varför man ska använda denna metod tror jag att detta blir mitt val.

//Martin

Robert 2004-09-27 18:10

Citat:

Ursprungligen postat av kullervo
Citat:

Ursprungligen postat av Robert
Citat:


document.write("<a href=" + "mail" + "t" + "o:" + name + "@" + domain + ">" + name + "[img] + imgsrc + [/img]" + domain + "<"+"/"+"a>")




Man kan väl tycka att det borde vara lättare för en robot att köra OCR på en bild via något gratis objekt som florerar än att halvt om halvt kompilera javascript.


Kan man göra ett mer simpelt javascript? :D Det där måste ju vara en barnlek att avkoda.

Varför rendera sidan och sedan köra OCR? Enklare och snabbare att hoppa över det steget. Mozilla är ju open source. Tror t.om. att IE finns som komponenter (eller vad det heter) till VB/.NET som är perfekt att använda. Bara öppna rätt URL och leta efter mailadresser i såsen efter att den kört alla javascript.

Inte enkelt för en screenscraper.

Med OCR menar jag att tolka de bild-mailadresser som finns..

kullervo 2004-09-27 20:19

Citat:

Ursprungligen postat av Robert
Citat:

Originally posted by -kullervo@Sep 27 2004, 15:55
Citat:

Ursprungligen postat av Robert
Citat:


document.write("<a href=" + "mail" + "t" + "o:" + name + "@" + domain + ">" + name + "[img] + imgsrc + [/img]" + domain + "<"+"/"+"a>")




Man kan väl tycka att det borde vara lättare för en robot att köra OCR på en bild via något gratis objekt som florerar än att halvt om halvt kompilera javascript.


Kan man göra ett mer simpelt javascript? :D Det där måste ju vara en barnlek att avkoda.

Varför rendera sidan och sedan köra OCR? Enklare och snabbare att hoppa över det steget. Mozilla är ju open source. Tror t.om. att IE finns som komponenter (eller vad det heter) till VB/.NET som är perfekt att använda. Bara öppna rätt URL och leta efter mailadresser i såsen efter att den kört alla javascript.


Inte enkelt för en screenscraper.

Med OCR menar jag att tolka de bild-mailadresser som finns..

Aha. Tror inte det är värt mödan. Väldigt sällsynt med webbsidor som har e-postadresser i bilder.

Citat:

<style type="text/css">
.backwards {direction: rtl; }
</style>

Mail: <span class="backwards">moc.liame@nim</span>

Det spelar ingen roll hur avancerade CSS- och JS-lösningar man hittar på. Om webbläsaren klarar av att tolka koden så kan ju också spindeln tolka det då (eller om) dom använder sig av HTML- och JS-parsers som kör koden. Då blir det ju som om man surfar in på en webbsida, markerar och kopierar all text och matar in den i sökfunktionen. Jag säger inte att spindlarna använder sig av denna metod (för det har jag ingen aning om), men när dom väl börjar med det så är alla 1000-tals JS- och CSS-lösningar värdelösa.

Jester 2004-09-27 20:28

Citat:

Originally posted by kullervo@Sep 27 2004, 20:19
Det spelar ingen roll hur avancerade CSS- och JS-lösningar man hittar på. Om webbläsaren klarar av att tolka koden så kan ju också spindeln tolka det då (eller om) dom använder sig av HTML- och JS-parsers som kör koden. Då blir det ju som om man surfar in på en webbsida, markerar och kopierar all text och matar in den i sökfunktionen. Jag säger inte att spindlarna använder sig av denna metod (för det har jag ingen aning om), men när dom väl börjar med det så är alla 1000-tals JS- och CSS-lösningar värdelösa.
Det handlar ju inte om att eliminera sådana här stölder av e-postadresser utan att minimera dem. Det är precis som du säger lite naivt att tro att man ska kunna hitta ett helt säkert system.

Robert 2004-09-27 23:06

Ett sätt skulle vara om mailen skapades/lades ihop efter att en användare klickat på maillänken. Spindeln klickar väl inte på länkar (mouse event alltså)?

kullervo 2004-09-28 00:12

Citat:

Originally posted by Robert@Sep 27 2004, 23:06
Ett sätt skulle vara om mailen skapades/lades ihop efter att en användare klickat på maillänken. Spindeln klickar väl inte på länkar (mouse event alltså)?
Om jag gjorde en spindel skulle jag köra alla onmouseover, onmouseclick, onfocus, onsubmit osv osv som jag hittar. Om någon funktion inte exekverats efter det kan man starta den manuelt för att se vad som händer.

Jester 2004-09-28 17:20

Citat:

Originally posted by Robert@Sep 27 2004, 23:06
Ett sätt skulle vara om mailen skapades/lades ihop efter att en användare klickat på maillänken. Spindeln klickar väl inte på länkar (mouse event alltså)?
Men tanken är ju att jag vill visa adresserna på sidan annars skulle jag lika gärna kunna köra formmail.

Sigurd 2004-09-28 19:14

Ytterligare ett altenativ:

Kod:

function EmailNoSpam(strUser, strDomain){
  strMail = "mailto:" + strUser + "@" + strDomain;
  window.location = strMail;
}

skriver sedan ut det med: sigurd[a]madtaste.se


Alla tider är GMT +2. Klockan är nu 12:29.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson