/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Spamfri fremvisning af email-adresse
Fra : Niels Sloth


Dato : 29-04-03 07:40

Hej

Jeg har en database med en del brugere, og ved opslag får man vist
forskellige data, herunder en email hvis man skal i kontakt med dem.

Hvordan kan man vise adresserne så de ikke kan samles op af
spam-robotter, men alligevel er klikbare og starter emailprogrammet
hos klienten?

Jeg har forsøgt med en henvisning til en TranferMail.asp side, hvor
der sker et databaseopslag af emailadressen der gennes i strMail, og
herefter:

Response.Redirect "mailto:"&strMail

Men jeg er ikke helt tilfreds, godt nok åbner emailprogrammet, og man
kan overføre subject mm. til det, men selve browseren bliver hængende
med en blank side, så jeg synes ikke det er helt regulært.

Jeg har ikke lyst til at bruge en form, da jeg synes at email hører
hjemme i folks emailprogram, så kan de se hvad de har sendt mm.

Nogen ideer?

Mvh. Niels

 
 
Jesper Stocholm (29-04-2003)
Kommentar
Fra : Jesper Stocholm


Dato : 29-04-03 09:05

Niels Sloth <sloth@post1.tele.dk> skrev:
>Hej
>
>Jeg har en database med en del brugere, og ved opslag får man vist
>forskellige data, herunder en email hvis man skal i kontakt med dem.
>
>Hvordan kan man vise adresserne så de ikke kan samles op af
>spam-robotter, men alligevel er klikbare og starter emailprogrammet
>hos klienten?

Der er mig bekendt ikke nogen 100% sikker løsning.

Du kan vælge at lave et javascript, der sammensætter emailadressen
med

<a
onmouseover="self.status='Send os en email fra dit e-
mailprogram';return true" onmouseout="self.status='';return true"
href="javascript:void(location.href='mailto:'+'email'+'@'+'dom'+'.tld?

subject='+'Some subject');">email</a>

Denne virker jo så kun i browsere, der har slået javascript til.

Du kan også vælge at udskrive emailadressen som Hex-koder i
stedet ... dette skulle også gøre det lidt sværere for robotterne.
Dette bruges bla. på http://www.usedbooks.dk/english/

Endelig kan du jo forsøge at lave noget kode, der genkender disse
robotter og dermed udelukke dem fra dit website - det er ikke
specielt svært, og det virker sådan set meget godt. Dette kaldes
populært for "honey-potting", og det er faktisk ret interessant at
sidde og designe (godt).



--
* Jesper Stocholm *
* http://stocholm.dk *
* Svar til gruppen og ikke til mig privat ! *
* Hvor svært kan det være ? *


Ryan (29-04-2003)
Kommentar
Fra : Ryan


Dato : 29-04-03 12:41

>Der er mig bekendt ikke nogen 100% sikker løsning

Hvad med dette? Vil det ikke virke?
På index-siden (eller hvor du nu vil have et link til emailadresserne)
skriver du:
<form action="sidemedemailadresser.asp" name="minform" method="post">
<input type="hidden" value="yes" name="vis">
</form>
<a href="#" onClick="getElementById('minform').submit(); return
false;">Vis emailadresser</a>

og så på "sidemedemailadresser.asp" skriver du:
If IsEmpty Request.Form("vis") Then
Response.Redirect("enandenside.asp")
End If

Vil en robot så kunne se siden "sidemedemailadresser.asp"?

--
Ryan





Jesper Stocholm (29-04-2003)
Kommentar
Fra : Jesper Stocholm


Dato : 29-04-03 12:55

Ryan <ryan@NOSPAM.dk> skrev:
>>Der er mig bekendt ikke nogen
>>100% sikker løsning
>
>Hvad med dette? Vil det ikke virke?
>På index-siden (eller hvor du nu
>vil have et link til
>emailadresserne)
>skriver du:
><form
><action="sidemedemailadresser.asp"
><name="minform" method="post">
><input type="hidden" value="yes" name="vis">
></form>
><a href="#"
><onClick="getElementById('minform'
><).submit(); return
>false;">Vis emailadresser</a>
>
>og så på
>"sidemedemailadresser.asp" skriver du:
>If IsEmpty Request.Form("vis") Then
>Response.Redirect("enandenside.asp ")
>End If
>
>Vil en robot så kunne se siden
>"sidemedemailadresser.asp"?

det kommer jo an på hvor avanceret robotten er. Det er jo med
robotterne som med vira ... hvis du kan gøre noget med
mus/tastatur på din PC, så kan en virus/et program det også.

Hvis man dog analyserer logfiler på tidspunkter, hvor man ved en
robot har været forbi, så vil man typisk se, at robotterne ikke
laver POST-requests imod din server - og derfor kan man sige, at
din løsning nok vil hjælpe (lidt). Denne tilgang bliver bla. brugt
www.usedbooks.dk, hvor alle links til forsiden er skjulte forms
med method="post". "inde" på sitet er der mindst to steder, hvor
emailadresser står i klartekst, og vi har ikke modtaget spam på
dem endnu.



--
* Jesper Stocholm *
* http://stocholm.dk *
* Svar til gruppen og ikke til mig privat ! *
* Hvor svært kan det være ? *


Niels Sloth (30-04-2003)
Kommentar
Fra : Niels Sloth


Dato : 30-04-03 07:17

Hej igen

Tak for svar.
>
>Der er mig bekendt ikke nogen 100% sikker løsning.

Jeg vil være helt tilfreds med 90%

>
>Du kan vælge at lave et javascript, der sammensætter emailadressen
>med
>
><a
>onmouseover="self.status='Send os en email fra dit e-
>mailprogram';return true" onmouseout="self.status='';return true"
>href="javascript:void(location.href='mailto:'+'email'+'@'+'dom'+'.tld?
>
>subject='+'Some subject');">email</a>

Jeg kender ikke meget til javascript, jeg bruger næsten udelukkende
..asp og vil helst blive ved med det så langt som muligt. Men kan du
forklare lidt nærmere hvordan scriptet snyder robotten?

>Du kan også vælge at udskrive emailadressen som Hex-koder i
>stedet ... dette skulle også gøre det lidt sværere for robotterne.
>Dette bruges bla. på http://www.usedbooks.dk/english/

Det ser ret interessant ud, hvordan oversætter man emailadresserne til
hex-kode 'on the fly' efter databaseopslag?

>Endelig kan du jo forsøge at lave noget kode, der genkender disse
>robotter og dermed udelukke dem fra dit website - det er ikke
>specielt svært, og det virker sådan set meget godt. Dette kaldes
>populært for "honey-potting", og det er faktisk ret interessant at
>sidde og designe (godt).

Det lyder sjovt, men jeg er interesseret i at få indexeret mine sider
i Google, så øvelsen må være at udelukke de robotter der samler email
og lade søgemaskinerobotterne komme ind, det har jeg nok desværre ikke
ressourcer til at gå i gang med og holde opdateret på et hobbysite.

Mht. selve fremvisningen af emailadressen, så har jeg set et tip et
andet sted: Man kan erstatte @ med et grafisk billede, og på den måde
bliver adressen sværere at genkende. Det giver til gengæld mig
problemer med farveskift ved hover, så i stedet har jeg sat nogle
'usynlige' små bogstaver ind for at ændre adressen (ja, det er ret
primitivt, men det skulle da i det mindste skabe noget forvirring)

Min nuværende kode kan fx ses i aktion her:
http://www.hytter.dk/Search3.asp?Language=da&Id=3444 prøv evt. at
klikke på mailadressen. Jeg er egentlig godt tilfreds bortset fra det
tomme vindue der 'hænger' bagefter.

Mvh. Niels

Jesper Stocholm (30-04-2003)
Kommentar
Fra : Jesper Stocholm


Dato : 30-04-03 08:45

Niels Sloth <sloth@post1.tele.dk> skrev:

>>Der er mig bekendt ikke nogen 100%
>>sikker løsning.
>
>Jeg vil være helt tilfreds med 90%
>>
>>Du kan vælge at lave et javascript, der sammensætter
>>emailadressen med
>Jeg kender ikke meget til
>javascript, jeg bruger næsten udelukkende
>.asp og vil helst blive ved med det
>så langt som muligt.

ok ... jeg er nu heller ikke så meget for javascript-løsningen,
men den ser ud til at virke.

> Men kan du
> forklare lidt nærmere hvordan
> scriptet snyder robotten?

De fleste robotter til indsamling er meget simple (har jeg hørt).
De virker på den måde, at de med et regular expression forsøger at
matche data på hjemmesiden, så fx data som

mailto:<nogle bogstaver>@<nogle bogstaver>

udtrækkes. Herefter sendes emails til resultatet. Dette resultat
bliver i dette tilfælde:

´+´someone´+´@´+´microsft´+´.com´

.... hvilket jo ikke er en valid emailadresse. Der er absolut intet
til hinder for, at man laver en robot, der kan klare dette, men
det ser ud til at virke indtil videre.

>>Du kan også vælge at udskrive
>>emailadressen som Hex-koder i
>>stedet ... dette skulle også gøre
>>det lidt sværere for robotterne.
>>Dette bruges bla. på
>>http://www.usedbooks.dk/english/
>
>Det ser ret interessant ud, hvordan
>oversætter man emailadresserne til
>hex-kode 'on the fly' efter
>databaseopslag?

Du laver simpelthen en funktion, der omdanner hvert tegn til en
Hex-kode. Det gøres ved at tage hver tegn og hente ASCII-værdien.
Dette giver en værdi imellem 0-255. Denne værdi henter du så Hex-
værdien af og sætter '&#' foran.

Fx bliver Jesper til

ASCII : 74 101 115 112 101 114

Hex : 4A 65 73 70 65 72

I alt bliver det til

&#4A;&#65;&#73;&#70;&#65;&#72;

De funktioner du skal bruge er Asc() og Hex()

>>Endelig kan du jo forsøge at lave
>>noget kode, der genkender disse
>>robotter og dermed udelukke dem
>>fra dit website - det er ikke
>>specielt svært, og det virker
>>sådan set meget godt. Dette kaldes
>>populært for "honey-potting", og
>>det er faktisk ret interessant at
>>sidde og designe (godt).
>
>Det lyder sjovt, men jeg er
>interesseret i at få indexeret mine sider
>i Google, så øvelsen må være at
>udelukke de robotter der samler email
>og lade søgemaskinerobotterne komme
>ind, det har jeg nok desværre ikke
>ressourcer til at gå i gang med og
>holde opdateret på et hobbysite.

Det er faktisk ikke så svært. Igen bygger det på en antagelse om
disse onde robotters færden på internettet. Der findes noget, der
hedder "Robots Exclusion standard", og det er en måde at fortælle
gode robotter, hvilke dele af ens website man ønsker at have
indexeret. Disse oplysninger lægges i en robots.txt-fil i roden af
websitet. Antagelsen er, at de onde robotter ikke overholder
denne. Det gør derimod Google og andre af de robotter man gerne
vil have besøg af.

Man laver en "honingkrukke", som man forsøger at lokke robotterne
ind i. De robotter der kommer derind, bliver automatisk afvist af
websitet.

Jeg har bla. gjort det på www.usedbooks.dk, hvor jeg gjorde
følgende:

1.
Lav et skjult link på forsiden, der leder hen til honningkrukken.
(du kan jo se, om du kan finde det på www.usedbooks.dk)


2.
For de robotter, der kommer forbi denne, log deres IP samt User-
agent i en blacklist. I din Session_OnEnd checker du så på, om den
enkelte bruger passer på nogen i din blacklist. Hvis det er
tilfældet, så send dem hen til en blank side (eller lignende).



>Mht. selve fremvisningen af
>emailadressen, så har jeg set et tip et
>andet sted: Man kan erstatte @ med
>et grafisk billede, og på den måde
>bliver adressen sværere at
>genkende. Det giver til gengæld mig
>problemer med farveskift ved hover,
>så i stedet har jeg sat nogle
>'usynlige' små bogstaver ind for at
>ændre adressen (ja, det er ret
>primitivt, men det skulle da i det
>mindste skabe noget forvirring)

Husk at det ikke er mennesker men maskiner, der henter dine
emailadresser. Hvis du laver dine emailadresser som

<a href="mailto:email@dom.dk">email<img src="pic.jpg">dom.dk</a>,
så skal selve emailadressen stadig stå i href-attributten. Hvis
jeg skulle lave sådan en robot, så ville jeg slet ikke kigge på
data i selve a-elementet (dvs den del med dit billede i), da der
jo ofte kun står "email" eller "klik her for mail". I stedet ville
jeg udelukkende kigge efter href-attributten, da det er hér din
emailadresse skal stå.

>Min nuværende kode kan fx ses i aktion her:
>http://www.hytter.dk/Search3.asp?La
>nguage=da&Id=3444 prøv evt. at
>klikke på mailadressen. Jeg er
>egentlig godt tilfreds bortset fra det
>tomme vindue der 'hænger' bagefter.

Jeg trort umiddelbart, at du skal over veje denne løsning igen.
Omend den ser smart ud, så prøv at se hvad din server rent faktisk
sender til klienten, der klikker på et transfermail.asp-link:

HTTP/1.0 302 Object moved
Connection: close
Server: Microsoft-IIS/5.0
Date: Wed, 30 Apr 2003 07:38:20 GMT
Location: mailto:hytter@email.invalid
Content-Length: 149
Content-Type: text/html
Cache-control: private
Set-Cookie: ASPSESSIONIDQADTDSAR=KOIJNPKDEEPMJFMKNMCBHAPI; path=/

<head>
<title>Object moved</title>
</head>
<body>
<h1>Object Moved</h1>
This object may be found
<a HREF="mailto:hytter@email.invalid">here</a>.
</body>

.... det kunne man jo faktisk godt argumentere for ville gøre det
nemmere for robotterne, at de får serveret hver emailadresse
næsten for sig selv.

--
* Jesper Stocholm *
* http://stocholm.dk *
* Svar til gruppen og ikke til mig privat ! *
* Hvor svært kan det være ? *


Niels Sloth (01-05-2003)
Kommentar
Fra : Niels Sloth


Dato : 01-05-03 18:26

Tak for grundige svar.

Lige et par spørgsmål til:

>Omend den ser smart ud, så prøv at se hvad din server rent faktisk
>sender til klienten, der klikker på et transfermail.asp-link:

Hvordan kan man se hvad serveren sender til klienten? Det må være rå
http-kode?

Og det andet spørgsmål: Når jeg har sendt klienten videre til
TrackMail.asp, som derefter sender videre til klientens mailprogram me
<a mailto:... osv, så hænger der en tom side i Browseren - hvordan kan
man evt. undgå det?

Men ellers mange tak igen, der er noget at arbejde videre med nu...

Niels

Jesper Stocholm (02-05-2003)
Kommentar
Fra : Jesper Stocholm


Dato : 02-05-03 09:55

Niels Sloth wrote :

> Tak for grundige svar.
>
> Lige et par spørgsmål til:
>
>>Omend den ser smart ud, så prøv at se hvad din server rent faktisk
>>sender til klienten, der klikker på et transfermail.asp-link:
>
> Hvordan kan man se hvad serveren sender til klienten? Det må være rå
> http-kode?

jeps ..

start en cmd-prompt og skriv

telnet www.hytter.dk 80
GET /trackmail.asp HTTP/1.1
Host: www.hytter.dk

(to linieskift)


> Og det andet spørgsmål: Når jeg har sendt klienten videre til
> TrackMail.asp, som derefter sender videre til klientens mailprogram me
> <a mailto:... osv, så hænger der en tom side i Browseren - hvordan kan
> man evt. undgå det?

Jeg synes du skal droppe din idé, da jeg ganske enkelt ikke kan se,
hvordan den skal kunne stoppe spam. Robotterne vil se dit link som et
ganske almindeligt link, og de kan se din emailadresse i klar-tekst på
den side der serveres. Metoden med Hex-koder er nok mere velvalgt.



--
Jesper Stocholm - http://stocholm.dk

Svar til gruppen og ikke til mig privat !
Skriv under det du svarer på - www.usenet.dk/netikette/citatteknik.html

Niels Sloth (03-05-2003)
Kommentar
Fra : Niels Sloth


Dato : 03-05-03 09:02

Tak igen.

Jeg vil bruge hex-metoden. Men jeg vil stadig gerne bibeholde
TrackMail.asp, da jeg logger afsendelse af mails her, så det bliver
ved videresendelse herfra.

Ved du hvordan jeg lukker den blanke side?

Mvh. Niels

>> Og det andet spørgsmål: Når jeg har sendt klienten videre til
>> TrackMail.asp, som derefter sender videre til klientens mailprogram me
>> <a mailto:... osv, så hænger der en tom side i Browseren - hvordan kan
>> man evt. undgå det?
>
>Jeg synes du skal droppe din idé, da jeg ganske enkelt ikke kan se,
>hvordan den skal kunne stoppe spam. Robotterne vil se dit link som et
>ganske almindeligt link, og de kan se din emailadresse i klar-tekst på
>den side der serveres. Metoden med Hex-koder er nok mere velvalgt.
>
>


Jens Gyldenkærne Cla~ (30-04-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 30-04-03 10:05

Jesper Stocholm skrev:

> Du laver simpelthen en funktion, der omdanner hvert tegn til
> en Hex-kode.

Mindre kan også gøre det. Jeg har selv benyttet en model hvor "@"
og "." erstattes med deres respektive hex-koder.

> For de robotter, der kommer forbi denne, log deres IP samt
> User- agent i en blacklist. I din Session_OnEnd checker du så
> på, om den enkelte bruger passer på nogen i din blacklist.

Skal det ikke være Session_OnStart?
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jesper Stocholm (30-04-2003)
Kommentar
Fra : Jesper Stocholm


Dato : 30-04-03 10:11

Jens Gyldenkærne Clausen <jens@gyros.invalid> skrev:
>Jesper Stocholm skrev:
>
>> Du laver simpelthen en funktion, der omdanner hvert tegn til
>> en Hex-kode.
>
>Mindre kan også gøre det. Jeg har selv benyttet en model hvor "@"
>og "." erstattes med deres respektive hex-koder.

Ja ... jeg kan forestille mig, at det vil have tilsvarende effekt.

>> For de robotter, der kommer forbi denne, log deres IP samt
>> User-agent i en blacklist. I din Session_OnEnd checker du så
>> på, om den enkelte bruger passer på nogen i din blacklist.
>
>Skal det ikke være Session_OnStart?

jo ... naturligvis - tak for korrektionen.



--
* Jesper Stocholm *
* http://stocholm.dk *
* Svar til gruppen og ikke til mig privat ! *
* Hvor svært kan det være ? *


N/A (30-04-2003)
Kommentar
Fra : N/A


Dato : 30-04-03 10:11



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste