Ukrywanie adresu e-mail przed Spambotami
Napisał: Patryk Krawaczyński
12/05/2007 w Hacks & Scripts Brak komentarzy. (artykuł nr 17, ilość słów: 388)
O
d czasu powstania zjawiska SPAMu (elektronicznych wiadomości rozsyłanych do osób, które ich nie oczekują), powstały automaty wspomagające reklamę w sieci. Automaty te w analogii działania do robotów indeksujących (zwanych także pająkami – ang. “spiders”) to Spamboty, które zamiast indeksowania informacji zawartych na stronie przeszukują je tylko i wyłącznie pod kątem adresów e-mail, które mógłby zebrać do dalszego zaśmiecenia różnego rodzaju reklamami.
Pierwszym krokiem do walki ze spamem jest maskowanie swojego adresu e-mail na stronach internetowych zastępując charakterystyczne dla niego znaki np. “małpę” (@) poprzez samo słowo “małpa”, czy angielski odpowiednik “at”, a kropki przez “kropka” lub “dot”. W ten sposób Spambot, nie posiadający inteligencji rozpoznającej znaczenie poszczególnych ciągów zastępczych traktuje nasz e-mail jako nieprzydatny tekst i go pomija. Lecz, początkujący Internauta – przyzwyczajony do tradycyjnej formy – może uczynić to samo. Więc w jaki sposób zachować tradycyjną formę pisowni adresu e-mail, ale ukryć go przed najgorszym wrogiem poczty elektronicznej? Z pomocą przychodzi kod JavaScript stworzony przez Luciana Slatineanu i rozwinięty przez Octavia Heredie, który dzięki kilku linijkom kodu powoduje zamaskowanie adresu:
function emailCloak() { if (document.getElementById) { var alltags = document.all? document.all : document.getElementsByTagName("*"); for (i=0; i < alltags.length; i++) { if (alltags[i].className == "emailCloak") { var oldText = alltags[i].firstChild; var emailAddress = alltags[i].firstChild.nodeValue; var usr = emailAddress.substring(0, emailAddress.indexOf("(")); var wb = emailAddress.substring(emailAddress.indexOf(")")+1, emailAddress.length); var newText = usr+"@"+wb; var a = document.createElement("a"); a.href = "mailto:"+newText; var address = document.createTextNode(newText); a.appendChild(address); alltags[i].replaceChild(a,oldText); } } } } window.onload = emailCloak;
Jak działa ten skrypt? To proste. Wystarczy umieścić go w kodzie dowolnej strony internetowej na końcu sekcji <head>, aby funkcja emailCloak została załadowana razem ze stroną WWW. Teraz każdy adres e-mail musimy opatrzyć działaniem tej funkcji poprzez opatrzenie, go uniwersalnym elementem liniowym z odwołaniem się do odpowiedniej klasy - w tym przypadku naszej funkcji JavaScript:
agresor( małpa )nfsec.pl
Skrypt przeszuka cały dokument, by znaleźć wszystkie odwołania do swojej funkcji. Za pomocą odpowiedniego umiejscowienia nawiasu otwierającego za loginem i zamykającego przed nazwą serwera - login(małpa)serwer rozłoży go na dwa człony (zmienne usr i wb) i ponownie złoży (zmienna newText), lecz już zamiast wyrażenia w nawiasie otrzymamy znak "@", a do całego wyrażenia zostaną dodane tagi typowego odsyłacza e-mail. W ten sposób, w kodzie strony internetowej posiadamy zapis ukrywający nasz adres e-mail, a po przetworzeniu przez przeglądarkę skryptu - normalnie funkcjonujący odsyłacz kontaktowy. Funkcję emailCloak() należy zamknąć w znaczniki JavaScript:
<script type="text/javascript"> ... </script>
Więcej informacji: www.badboy.ro, www.octavioheredia.com
Brak starszych postów Następny wpis