Elektronika.lt

Elektronika.lt - elektronikos, informacinių ir
ryšių technologijų portalas

Adresas: http://www.elektronika.lt
El. paštas: info@elektronika.lt
 Atspausdinta iš: http://www.elektronika.lt/patarimai/programos/7908/zaidziame-slepyniu-el-pasto-adreso-slepimas/spausdinti/

Žaidžiame slėpynių (el. pašto adreso slėpimas)

Publikuota: 2007-05-16 07:42
Tematika: Programinė įranga
Autorius: Rimas Abromavičius
Aut. teisės: el. paštas ©Lietuvos Rytas, UAB
Inf. šaltinis: el. paštas Kompiuterija – PC World

Visi žinome, kiek daug el. pašto šiukšlių kasdien patenka į elektronines jūsų (ir mūsų!) pašto dėžutes. Nepageidaujamų laiškų siuntėjai nuolat skenuoja internetinius puslapius ir savo duomenų bazes papildo naujais el. pašto adresais. Taigi šįkart slėpynių žaisime su piktaisiais el. pašto adresus renkančiais robotais.

Norint apsaugoti įmonės ar asmeniniame tinklalapyje pateiktą elektroninio pašto adresą, jį reikia pateikti taip, kad normalūs lankytojai ir jų naudojamos naršyklės tą adresą sugebėtų perskaityti, o šiukšlintojų robotai – ne.

Su šia nelengva užduotimi susiduria beveik kiekvienas internetinių puslapių kūrėjas. Nors „sidabrinė kulka“ kol kas neišrasta (ir vargu ar kada nors bus išrasta), gudriai derinant šiame straipsnyje pateiktus el. pašto adresų slėpimo būdus galima pasiekti išties gerų rezultatų. Jei pats neišmanote HTML, PHP ir „JavaScript“ programavimo, parodykite šį „Kompiuterijos“ straipsnį tinklalapių kūrėjams, o jie tikrai žinos, ką ir kaip daryti.

„@“ keitimas

Tai paprastas būdas, nereikalaujantis jokių techninių žinių. Dažniausiai rašomas paprastas tekstas (nėra aktyvios nuorodos): „mikeATpukuotukasDOTbiz“, „mike[*AT*]pukuotukas[*.*]biz“ ar pan. Tačiau būkite kūrybingi keisdami „@“ ir „.“ simbolius – kai kurie robotai gali iššifruoti dažniausiai naudojamus „AT“ ir „DOT“. Pavyzdžiui, Petras Kudaras savo svetainėje rašo: „petras PRIE kudaras TAŠKAS lt“, o internautas, pasivadinęs „Stebuklu“, komentaruose palieka tokį savo el. pašto adresą: „stebuklas[slyva]irklavimas[taskas]lt“.

Trying to find my email address? Well, you know my first name, and my domain name... I'm hoping you can figure it out before the spambots do! ;)

Paul Harvey, www.paulsjourney.com

Adreso gadinimas

Kitas apsaugos nuo šiukšlintojų būdas – papildomų žodžių įterpimas į el. pašto adresą, pavyzdžiui, „mike@REMOVETHISpukuotukas.biz“, „mike@pukuotukasDELETETHIS.biz“ ir t.t. Ekrane tokius sugadintus adresus galima atvaizduoti perbraukus išimtiną žodį (naudojamos <del></del> direktyvos): „mike@REMOVEpukuotukas.biz“. Toks parašymas turėtų būti aiškesnis daugeliui vartotojų.

Svarbu, kad „gadinant“ el. pašto adresą būtų iškraipoma domeno, o ne vartotojo vardo dalis. Žinodami el. pašto domeną, šiukšlių siuntėjai gali atspėti tikrus adresus (info@, web@, mail@, admin@, postmaster@ ir pan.).

Abu šie būdai yra paprasti ir aiškūs, tačiau reikalauja papildomų laišką norinčio parašyti lankytojo pastangų. Nesuprasdamas, ką daryti, nepatyręs žmogus gali nesugebėti išsiųsti laiško norimu adresu.

Nepastebimi adresų iškraipymai: simbolių kodavimas

Šis metodas veikia visose naršyklėse ir yra pagrįstas tuo, kad retas el. pašto adresus renkantis robotas tinkamai interpretuoja specialiu būdu užrašytus Unikodo simbolius. Vietoj įprastai rašomų simbolių galima pateikti jų atitikmenis Unikodo lentelėje. Užkoduotas tekstas „mike@pukuotukas.biz“ 10-aine sistema atrodytų taip:


<a href="&#109;&#97;&#105;&#108;
&#116;&#111;&#58;&#109;&#105;
&#107;&#101;&#64;&#112;&#117;
&#107;&#117; &#111;&#116;&#117;
& #107;&#97;&#115;&#46;&#98;
&#105;&#122;">nuoroda</a>

šešioliktaine sistema:


<a href=„mailto:%6d%69%6b%65%40%70%75%6b%75%6f%
74%75%6b%61%73 %2e%62%69%7a“>nuoroda</a>

Toks adresų šifravimas nėra labai patikimas – pažangesni robotai gali nesunkiai iškoduoti užrašytą tekstą. Nepaisant to, daugybėje el. pašto adresus renkančių sistemų Unikodo simbolių konvertavimo funkcijų nėra dėl to, kad milijonus puslapių naršanti programa naudotų mažiau serverio išteklių.

Didžiausias tokio adresų slėpimo privalumas tas, kad jo nepastebi normalus vartotojas. Nuorodos teksto vietoje taip pat galima naudoti 10-aine sistema užkoduotus simbolius.

Paprastą tokio konvertavimo priemonę rasite tinklalapyje http://htmlfixit.com/cgi-bin/tools/uni.cgi.

Norintiems el.pašto adresų slėpimo funkcijomis papildyti savo kurtas internetines sistemas pateikiame mažytę PHP funkciją. Pirmuoju funkcijos argumentu perduodama norimo užkoduoti teksto eilutė, antruoju – to teksto koduotė (jei ji ne UTF-8). Tipiniu atveju funkcijos rezultatas spausdinamas taip:

echo unicodestr2ord('mike@pukuoutkas.biz ');

Nepastebimi adresų iškraipymai: HTML elementų įterpimas

Žinant tai, jog el.pašto adresus renkantys robotai supranta tik reikalingiausias HTML dalis, galima į el.pašto nuorodas įterpti lankytojams nematomas, tačiau robotus klaidinančias direktyvas. Pavyzdžiui:

Turbūt pastebėjote, kad šiuose pavyzdžiuose yra ir keletas anksčiau išmoktų triukų.

Nuorodos teksto apvertimas

CSS (Cascading Style Sheets) leidžia nurodyti, kad elemento tekstas yra parašytas kalba, kuri turi būti skaitoma iš dešinės į kairę. Šiuo funkcionalumu galima pasinaudoti siekiant apgauti pašto adresus renkančius robotus.

Aprašius CSS klasę „apversta“:

span.apversta {unicode-bidi:bidi-override; direction:rtl;}

el. pašto adresą galima užrašyti taip:

mike@<span class="apversta“>sakutoukup </span>.biz

Tada net HTML elementus gebantys pašalinti, bet CSS tinkamai nesuprantantys robotai paštą siųs neegzistuojančiu adresu mike@sakutoukup.biz.

Tačiau tokiais būdais galima iškraipyti tik nuorodos tekstą. Pačią nuorodą (href="mailto:" reikšmę) teks maskuoti tik keičiant simbolius jų Unikodo atitikmenimis. Susipažinkite su dar vienu efektyviu būdu.

Tikrų el. pašto nuorodų neatskleidimas

Iš tiesų nuorodos į el. pašto adresą tekste neprivalo būti el. pašto adreso su „mailto:" priešdėliu. Galima sukurti nuorodą į pusprogramį (script), kuris nukreiptų vartotoją teisingu adresu. Toks „email.php“ pusprogramis gali būti itin paprastas:


<?php
  header (Location: "mailto:mike@pukuotukas.biz");
  exit();
?>  

Tačiau prieš nurodant tikrąjį adresą naudinga patikrinti, ar jo prašo realus žmogus. Tam galima naudoti slapukus (cookies), vartotojo sesijos (session) duomenis, taikyti išradingus triukus pasitelkus „JavaScript“ ir pan. El. pašto adresus renkantys robotai paprastai nepriima slapukų ir nesugeba vykdyti „JavaScript“ komandų.

Vienintelis šio metodo trūkumas – vartotojui paspaudus nuorodą ir pasirinkus „copy link location“ ar „copy shortcut“, į atmintinę nukopijuojama „pukuotukas.biz/email. php“ eilutė, o ne tikrasis el. pašto adresas. Tokiu atveju nuorodos tekste būtina pateikti tikrą adresą, nes daug lankytojų norės jį nukopijuoti į pašto programą (ypač gmail, hotmail, yahoo mail), o ne spragtelėti aktyvią nuorodą.

„JavaScript“ triukai

Manoma, kad kiekvieną robotą įmanoma apgauti pasitelkus „JavaScript“. Jau sukurta šimtai įvairiausių būdų šia programavimo kalba slėpti el.pašto adresus. Iš tikrųjų dauguma robotų nesupranta „JavaScript“, nes tai jiems per daug komplikuota ar paprasčiausiai neapsimoka, eikvojama daug serverio išteklių.

Galima pasitelkti itin sudėtingą http://automaticlabs.com/products/enkoderform generuojamą kodą, paprastesnį http://jodrell.net/projects/mailto arba pačiam parašyti elementarią JavaScript funkciją. Pavyzdžiui, Bronislovo Burgio svetainėje www.burgis.lt el.paštas slepiamas taip:

Pirmoje eilutėje padidinamas „String“ objekto funkcionalumas sukūrus reverse() metodą, o vėliau email() funkcijai perduoti argumentai apverčiami į kitą pusę ir grąžinamas tinkamai suformuotas el.pašto adresas.

Verta pastebėti, kad „JavaScript“ nesuprantantys robotai seks nemodifikuota nuoroda ir pateks į specialiai jiems sugeneruotą puslapį burgis.lt/users. Jame iš atsitiktinių žodžių paspendžiami spąstai robotams ir jų duomenų bazės užteršiamos neegzistuojančiais el.pašto adresais. Paieškos sistemų robotai nuo šių spąstų apsaugomi į puslapį įterpus <meta name="robots" content="noindex,nofollow" /> direktyvą. Tinkamai įgyvendintas kovos su šiukšlintojais būdas yra gana efektyvus.


Asmeninėje svetainėje Burgis.lt įrengti spąstai el.pašto adresus renkantiems robotams.

Burgis.lt svetainėje šiems puslapiams generuoti naudojamas modifikuotas „PHP Spam Poison“ variklis.


Elektroninį laišką kriu.lt kolektyvui galima siųsti pasitelkus puslapyje pateiktą formą

Paveikslėliai ir „Flash“

Užrašius adresą paveikslėlyje arba įkėlus jį į „Flash“ objektą, robotai nesugebės šio rasti. Tai paprastas ir efektyvus, tačiau problemų eiliniams lankytojams galintis kelti būdas. Paveikslėlyje parašyto teksto neįmanoma nukopijuoti, „Flash“ objektai nematomi mobiliuosiuose telefonuose, kyla nemažai suderinamumo ir kitų problemų.

Taikant jau aprašytus metodus, galima pasiekti ne prastesnių rezultatų, nei naudojant lankytojus erzinančius paveikslėlius.

Formos

Saugiausia niekam neatskleisti el.pašto adreso – kontaktinės formos. Lankytojui pateikiami laukeliai, kuriuos užpildžius nežinomu adresu automatiškai nusiunčiamas elektroninis laiškas.

Vartotojas negali naudotis savo pamėgta el.pašto programa, tačiau žinutę gali siųsti anonimiškai. Atsižvelgiant į situaciją, šie aspektai gali būti ir privalumai, ir trūkumai.

Kiekvienas minėtų būdų turi savų trūkumų – kai kurie netinkami aktyvioms nuorodoms kurti, kiti neleidžia kopijuoti nuorodų teksto ar reikalauja „JavaScript“ variklio, tad senais mobiliaisiais telefonais naršantys lankytojai gali susidurti su netikėtomis problemomis. Nepaisant to, protingai derinant įvairius el.pašto slėpimo būdus galima pasiekti labai gerų rezultatų. Tačiau svarbiausia – būti išradingiems ir kūrybingiems. Piktieji robotai iš tiesų nėra labai gudrūs, tad nuo jų tikrai įmanoma pasislėpti.


‡ 1999–2024 © Elektronika.lt LTV.LT - lietuviškų tinklalapių vitrina Valid XHTML 1.0!