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
A;AIFAH
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 ? *