Siirry sivun sisältöön Avut CSS HTML JavaScript Kotisivu

Sähköpostiosoitteen salaaminen roboteilta

Tällä sivulla esitetään kaksi erilaista asiakaspuolen tapaa salata Web-sivuilla esiintyvät sähköpostiosoitteet osoitteita kerääviltä roboteilta. Tässä ei käsitellä sellaisia asiakaspuolen ratkaisuja, joista varmuudella olisi enemmän haittaa kuin hyötyä, kuten Java-appletteihin tai Flash-kikkareisiin perustuvia virityksiä.

Sisällysluettelo

Desimaalimerkkikoodaus

Tässä metodissa muutetaan muutama HREF-attribuutin sisältämä merkki vastaaviksi selainten ymmärtämiksi desimaaliviittauksiksi (&#numero;). Esimerkkikoodi voisi näyttää vaikka seuraavalta:

<center>
Lähetä minulle <a
href="mai&#108;&#116;o&#058;os&#109;o&#064;weppipakki&#046;com">postia</a>.
</center>

Esimerkkikoodi tulostuu dokumenttiin seuraavasti:

Lähetä minulle postia.

Muuntolomake

Seuraavalla lomakkeella osoitteiden merkkien muunto käy helposti.

Syötä sähköpostiosoitteesi protokollaosuuden perään ja paina muuntonappia:   
Sijoita ao. tekstilaatikon tulos sähköpostilinkkisi HREF-attribuutin sisällöksi:

JavaScript-toteutus

Tässä metodissa sijoitetaan osoitetiedot muuttujiin ja kokonaisuus kirjoitetaan dokumenttiin JavaScriptin (tästä edes JS) document-olion write-metodilla. Scripti ei tietenkään tulostu, mikäli JS-tuki puuttuu tai se ei ole päällä, joten metodi varmistamaan NOSCRIPT-lohkolla. NOSCRIPT-lohkoon sijoitimme kuvan sähköpostiosoitteestamme, jonka edelleen varmistimme ALT- ja TITLE -attribuuteilla.

<center>
<script type="text/javascript">
//<![CDATA[
tunnus = 'osmo';
aluenimi = 'weppipakki.com';
taksa = '@';
document.write('Lähetä sähköpostia osoitteeseen:<br>');
document.write('<a href="mailto:'+tunnus+taksa+aluenimi+'">');
document.write(tunnus+taksa+aluenimi+'</a>.');
//]]>
</script>
<noscript>
Lähetä sähköpostia osoitteeseen:<br>
<img src="osoite.gif"
 alt="osmo[at]weppipakki[piste]com"
 title="osmo[at]weppipakki[piste]com">
</noscript>
</center>

Yo. koodi tulostuu nykyisillä asetuksillasi dokumenttiin seuraavasti:

Seuraavassa taulukossa esitetään kuvat JS-toteutuksen erilaisista tulostusvaihtoehdoista järjestyksessä. Huomioi miten niiden käytettävyys heikkenee mitä pidemmälle varmistus etenee.

TukitilanneTulostusKäytettävyys
JS-tuki päällä: Selaimen tulkinta JS-tuki päällä. Aktivoitavissa ja kopioitavissa.
Ilman JS-tukea: Selaimen tulkinta ilman JS-tukea. Ei voida aktivoida eikä kopioida.
Ilman JS- ja kuvatukea: Selaimen tulkinta ilman JS- ja kuvatukea. Ei voida aktivoida eikä yleensä kopioida. Lisäksi osoitetta on muokattava.

Kumpaa kannattaa käyttää?

Kumpaakaan ei kannata käyttää sellaisella osoitteella, joka on ollut jo käytössä, koska osoite voi jo olla spammerien hallussa, vaikka roskapostia ei vielä olisikaan saapunut.

Desimaalimerkkikoodauksen etuna on sen yksinkertaisuus, sekä yhdenmukainen ja varmahko toimivuus. Metodin hyötyä kuitenkin epäillään usein, koska robotin tekijälle olisi suhteellisen helppoa ohjelmoida robotti tukemaan merkkiviittauksia. Itse en kuitenkaan usko monenkaan vaivautuvan, koska osoitteita saa muutenkin kerättyä aivan tarpeeksi.

JS-toteutus on salausmenetelmänä varmempi, mutta sen heikkoutena on sen monimutkaisuus, sekä osoitteen hankala käsiteltävyys scriptituen puuttuessa. JS-metodi ei siis sovi niille joille sivujensa esteettömyystekijät ovat tärkeitä.

Yrityksien ja muiden vakavamielisten sivustojen tulisi maksimissaan käyttää merkkikoodausta. Vielä parempi olisi ottaa roskapostiongelma kokonaan omalle kontolleen käyttämällä palvelinpuolen ratkaisuja, koska asiakaspuolen ratkaisut voivat aina hankaloittaa tiedon kulkua, jopa joissakin tilanteissa kokonaan estää sen.

Viimeinen päivitys: 2004-02-10
Osmo Saarikumpu

yksi taso ylös