Kilka sposobów na bezpieczne umieszczenie adresu e-mail we własnej witrynie

Twój adres e-mail to skarb dla złośliwego bota. Dowiedz się w jaki sposób jest on pozyskiwany z Twojej strony WWW i jak się przed tym zabezpieczyć.

Odwiedzającym naszą stronę WWW często chcemy umożliwić kontakt z nami. Najczęściej robimy to poprzez podanie kontaktowego adresu e-mail do nas. Adresy te są niestety również zbierane przez szkodliwe boty (tzw. harwestery – boty przeznaczone do zbierania adresów e-mail) by móc potem masowo wysyłać na nie niechciane wiadomości. W momencie, w którym to nastanie na Twoją skrzynkę zacznie spływać masa niechcianych wiadomości. W tym artykule dowiesz się w jaki sposób boty znajdują adresy e-mail oraz jak utrudnić im to zadanie.

Na mój adres e-mail już teraz spływa ogromna liczba niechcianych wiadomości

Twój adres e-mail niekoniecznie musiał zostać dodany do bazy danych, z której korzystają spamerzy. W pierwszej kolejności zweryfikuj, czy wiadomości nie są do Ciebie dostarczane poprzez niezabezpieczony formularz kontaktowy jeśli takowy posiadasz.

Najprawdopodobniej jednak Twój adres e-mail został już dodany do niechcianej bazy. Niestety, w tym przypadku na zabezpieczenie adresu jest już za późno. Przychodzące wiadomości należy usuwać, definitywnie nie należy pobierać załączników, pobierać zewnętrznej zawartości wiadomości czy klikać w linki, w tym linki do zrezygnowania z subskrypcji. Może się wydawać, że kliknięcie w link rezygnacji przyniesie ulgę, niestety często są one wykorzystywane do potwierdzenia, czy ktoś ten adres e-mail obsługuje i czyta wiadomości. Nieklikanie w takie linki ostatecznie może doprowadzić do usunięcia adresu z bazy lub ustawić niższy priorytet wysyłki niechcianych wiadomości na ten adres e-mail. Niższy priorytet oznacza późniejsze wysłanie wiadomości. Jest to o tyle ważne, że wiadomości e-mail wysyłane są partiami. Często taka wysyłka jest pogwałceniem regulaminu usługodawcy i następuje zablokowanie wysyłki. Niestety, kilka (a czasem nawet kilkadziesiąt) pierwszych partii prawdopodobnie prześlizgnie się zanim dojdzie do blokady. Jeśli jednak Twój adres e-mail będzie miał niski priorytet i będzie gdzieś daleko w kolejce – może się okazać, że ostatecznie wiadomość na Twój adres e-mail nie zostanie wysłana. Niestety nie liczyłbym na całkowite zaprzestanie problemu (tj. usunięcie z bazy) – niechciane wiadomości prawdopodobnie będziesz już zawsze otrzymywać. Pozostaje jedynie zweryfikowanie i aktualizacja filtrów antyspamowych bądź założenie nowego konta e-mail.

Zachowaj też oczywiście zdrowy rozsądek. Jeśli rejestrowałeś się w danej usłudze z której dostajesz mailing i chcesz zrezygnować z subskrypcji – link do rezygnacji w tym przypadku nie powinien być szkodliwy.

Sposoby podawania adresu e-mail na stronie WWW

Przejdźmy teraz już do najważniejszej części artykułu. Jak podać adres e-mail na własnej stronie. Można to zrobić na wiele sposobów, omówimy też wady i zalety różnych metod.

Tekst jawny bez linku

twoj@email.pl

To co widzisz powyżej to adres e-mail zapisany w postaci jawnej. Przede wszystkim chodzi tutaj o kod źródłowy strony, który dla powyższego adresu e-mail wygląda następująco:

<p>twoj@email.pl</p>

Harwestery nie będą miały problemu z jego zapisaniem. Wystarczy, że znajdą znak małpy („@”) w kodzie źródłowym strony. Możesz zrobić to samo otwierając kod źródłowy tej strony (najłatwiej to zrobisz używając skrótu klawiszowego: Ctrl + U) i korzystając z wbudowanej w przeglądarkę wyszukiwarki (Ctrl + F) znaleźć powyższy znak. Zaleta jest tylko jedna – użytkownik końcowy może łatwo skopiować adres e-mail.

Zalety:

  • Łatwy do skopiowania przez użytkownika końcowego celem wklejenia adresu do programu pocztowego

Wady:

  • Bezproblemowo odnajdywany przez harwestery

Tekst jawny z linkiem

twoj@email.pl

Sprawa ma się identycznie jak powyżej, oprócz tego adres email zostanie znaleziony przez boty szukające ciągów „mailto” i/lub znaku „@”. Kod wygląda następująco:

<a href="mailto:twoj@email.pl">twoj@email.pl</a>

Dla odmiany spróbuj wyszukać ciągu „mailto” w kodzie źródłowym strony – uda Ci się to bez problemu.

Zalety:

  • Łatwy do skopiowania przez użytkownika końcowego celem wklejenia adresu do programu pocztowego
  • Klikalny link otwierający program pocztowy

Wady:

  • Bezproblemowo odnajdywany przez harwestery

Tekst jawny z zamianą znaków i/lub ciągami do usunięcia

twojATemail.USUNpl

Można zamienić znak „@” na AT, możesz też dodać ciągi znaków do usuniecia („USUN”). Wszystkie jednak popularne zamiany botom są już znane – tak jak szukają znaku „@”, tak samo szukają ciągów typu „[at]”, „[AT)”, ” at „, [… dowolna kombinacja …], „KROPKA”, itd. Niestety, nie wymyślisz tutaj nic oryginalnego. Chyba, że chcesz również zdezorientować swojego czytelnika, w co wątpię.

Podobnie ma się kwestia do ciągów, które należy usunąć. Harwester dobrze wie, że „USUN” to usuń i należy ten ciąg… usunąć. Zamienniki typu „USUNMNIE”, „_usunto_”, itd. są mu równie dobrze znane. Możesz sobie darować. A w przypadku „_usunto_” jeszcze dodatkowo wprowadzasz czytelnika w zakłopotanie – usuń razem z znakami „podłogi” („_”) czy nie?

Zalety:

  • Łatwy do skopiowania przez użytkownika końcowego celem wklejenia adresu do programu pocztowego
  • Chroni przed najprostszymi harwesterami (nie oszukujmy się – zabawkami)

Wady:

  • Większość harwesterów sobie poradzi z tymi prostymi zabezpieczeniami
  • Użytkownik końcowy musi poprawić adres e-mail

Grafika

Adres email - grafika

Powyższy adres e-mail to grafika. Spróbuj go skopiować! Niezbyt miłe utrudnienie dla Twoim czytelników. A harwester? Są i takie które z tym sobie poradzą, inaczej kody CAPTCHA od Google nie byłyby tak męczące. Ponadto osoby niewidome/niedowidzące nie poznają Twojego adresu e-mail, chyba, że wstawisz go w tekście alternatywnym (korzystają z niego właśnie usługi ułatwień dostępu). Jak wstawisz go w tekst alternatywny – boty go odczytają, ponieważ jest to tekst jawny. Mówiąc krótko: gra nie warta świeczki.

Zalety:

  • Chroni przed prostymi harwesterami, nieprzetwarzającymi grafik

Wady:

  • Użytkownik końcowy musi ręcznie przepisać adres e-mail (bardzo duży MINUS)
  • Spora część szkodliwych botów i tak sobie poradzi.
  • Osoby niedowidzące nie poznają Twojego adresu e-mail, chyba, że podasz go również w postaci jawnej

Zmiana kodowania znaków na ASCII

twoj@email.pl
twoj@email.pl

Powyżej znajdują się dwa adresy e-mail. Pierwszy zabezpieczony gorzej, drugi lepiej. Zobaczmy do kodu źródłowego:

<a href="mailto:twoj&#64;email&#46;pl">twoj&#64;email&#46;pl</a>

<a href="m&#97;il&#116;o&#58;t&#119;&#111;j&#64;&#53;m&#97;i&#108;%2E&#112;l">twoj&#64;&#101;mai&#108;&#46;&#112;l</a>

Jak widzisz, pierwszy adres e-mail posiada ciąg „mailto”. A więc adres e-mail nadal może zostać pobrany przez prostego, szkodliwego bota. Zabezpieczone zostały natomiast znaki małpy oraz przy okazji kropki. Kilka botów zostanie oszukanych, ale fajerwerków nie oczekuj. Sprawa jest o tyle prosta, że znak małpy i kropki („@” i „.”) zapisujesz w innym kodowaniu:

@ - &#64
. - &#46

Drugi adres e-mail jest już naprawdę sensownie zabezpieczony. Szukanie ciągu „mailto” lub znaku małpy zakończy się niepowodzeniem. Nikt też raczej nie będzie dodawał takiego dziwnego ciągu znaków do bazy, bo to może być dosłownie wszystko. Jeśli chcesz własnoręcznie stworzyć taki ciąg, to kody ASCII zaczynają się od znaków &#, a następnie dodajesz wartość „Dec” z tabeli dostępnej na Wikipedii i kończysz znakiem średnika „;”. Albo możesz też poszukać generatora w sieci (tylko czy jesteś w stanie mu zaufać?).

Co jednak ważne, Ty widzisz prawidłowy adres e-mail, odnośnik „mailto” otwiera program pocztowy (jeśli takowy posiadasz). Siłą rzeczy oznacza to, że są także boty, które tak jak twoja przeglądarka, kod ASCII wykrywają i prawidłowo przetwarzają. Jest to jednak już zdecydowanie mniejsza grupa.

Zalety:

  • Użytkownik końcowy bez problemu może skopiować adres e-mail
  • Klikalny link otwierający program pocztowy
  • Chroni przed sporą częścią szkodliwych botów (szczególnie druga forma)

Wady:

  • Dla dzisiejszych harwesterów nadal nie stanowi to zabezpieczenie większego wyzwania

JavaScript

Powyższy adres e-mail końcowy użytkownik również widzi prawidłowo, o ile ma włączoną obsługę skryptów. Jeśli go nie widzisz, to należysz do bardzo nielicznej grupy, która nie pozwala swojej przeglądarce na przetwarzanie skryptów JavaScript. Cała magia w tym zabezpieczeniu polega na kodzie, który wygląda tak:

<script type="text/javascript">
uzytkownik = "twoj";
domena = "email.pl";
document.write('<a href=\"mailto:'+uzytkownik+'@'+domena+'\">');
document.write(uzytkownik+'@'+domena+'<\/a>');
</script>

Ciąg „mailto” może i jest, jest też znak małpy… tylko co z tego, jak znaki dookoła nich się nijak mają do rzeczywistości? Należy połączyć dane zdefiniowane w polach ‚uzytkownik’ oraz ‚domena’ i usunąć zbędne znaki. Do tego zdolne są jedynie harwestery, które obsługują skrypty JavaScript. Ponadto nic nie stoi na przeszkodzie, byś znak małpy zastąpił kodowaniem ASCII, tak w ramach dodatkowego zabezpieczenia. Wisienki na torcie dodaje fakt, że im bardzie skomplikowany kod JavaScript, tym trudniej szkodliwemu botowi jest odnaleźć Twój adres e-mail. Po prostu złóż swój adres e-mail z większej ilości pól lub jeśli znasz JavaScript, możesz też pokusić się o inne metody jego przedstawienia, np.:

<script type="text/javascript">document.write(unescape('%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%74%77%6f%6a%40%65%6d%61%69%6c%2e%70%6c%22%3e%74%77%6f%6a%40%65%6d%61%69%6c%2e%70%6c%3c%2f%61%3e'));</script>

Zalety:

  • Użytkownik końcowy bez problemu może skopiować adres e-mail
  • Klikalny link otwierający program pocztowy
  • Chroni przed sporą częścią szkodliwych botów, w szczególności po zmodyfikowaniu.

Wady:

  • Boty coraz lepiej przetwarzają skrypty JavaScript. Powyższe przykłady tak naprawdę już teraz są „wczorajsze”.
  • Aby jeszcze bardziej utrudnić znalezienie adresu e-mail kod należy zmodyfikować, a to wymaga znajomości JavaScriptu

Krótkie opisanie innych metod

Powyżej opisałem najbardziej popularne metody. Jest jeszcze kilka innych, z którymi można się spotkać. Krótko je opiszę bez wchodzenia w szczegóły, gdyż nie są to metody skutecznie chroniące adres e-mail.

Adres e-mail podany wspak

Swój adres e-mail możesz napisać wspak w postaci jawnej, a następnie korzystając z CSS odwrócić odwrócenie. Użytkownik końcowy zobaczy prawidłowe adres e-mail, jednak w zależności od wdrożenia, skopiowanie adresu e-mail już niekoniecznie może należeć do przyjemnych czynności – istnieje ryzyko skopiowania adresu e-mail wpisanego wspak. Niezależnie od tego, jak na ironię losu boty i tak sobie świetnie poradzą i odwrócą adres e-mail do prawidłowej postaci.

Odwołanie do pliku

Zamiast odnośnika mailto:<adres e-mail> możesz stworzyć odnośnik do innego pliku, np. mail.php. Skrypt PHP może już bezpośrednio wywołać program pocztowy. W tym przypadku większość harwesterów faktycznie Twojego adresu e-mail nie zobaczy, jednak co jeśli osoba odwiedzająca Twoją stronę nie posiada programu pocztowego? Musisz przedstawić jej adres e-mail w jakiejś innej formie, więc nadal musisz skorzystać z jakiejś innej metody, bądź połączyć tą metodą z którąś wcześniej opisaną (np. zdjęcie może być linkiem do pliku .php).

Honeypot

Na samej stronie możesz też dodać pułapki na boty, tzw. honeypoty. Po wejściu w nie możesz automatycznie zablokować dostęp do swojego serwisu dla danego adresu IP, a samego harwestera możesz też przekierować prosto do piekła . Honeypoty są oczywiście niewidoczne dla użytkownika, boty jednak je widzą. Nie wszystkie jednak dają się na to nabrać.

Encje HTML oraz kodowanie URL

Obydwie metody działają tak samo jako kodowanie za pomocą znaków ASCII. Na dzień dzisiejszy jest to już przestarzała metoda.

Rozwiązanie

Niestety wszystkie opisane metody są już przestarzałe. Jeśli chcesz, by Twoja strona była maksymalnie przyjazna dla użytkowników to najlepszym rozwiązaniem będzie użycie kodu JavaScript. Opisany wcześniej przykład nie jest najlepszy, ale jest to jakiś początek. Do kodu JavaScript możesz wprowadzić sporo różnych modyfikacji, tak by boty musiały poświęcić więcej czasu na znalezienie adresu e-mail i ostatecznie się poddały. Możesz też zmusić użytkownika do kliknięcia w odpowiedni przycisk zanim pojawi mu się adres e-mail. Stosuje się też np. proste szyfrowanie ROT13. W tym względzie masz tyle wolności na ile pozwala kod JavaScript. Możesz poszukać dalszych przykładów na Internecie, jednak z dużym prawdopodobieństwem są one już znane harwesterom i nie przyniosą oczekiwanego rezultatu.

Jeśli potrzebujesz jeszcze większego poziomu zabezpieczeń możesz również pokazać adres e-mail dopiero po wypełnieniu kodu CAPTCHA. Nie jest to zbyt przyjazne dla użytkownika, ale jeśli w dalszym ciągu masz potrzebę udostępnienia swojego adresu e-mail na stronie WWW – będzie to rozwiązanie zdecydowanie najbardziej chroniące Twój adres e-mail.

Albo całkowicie zrezygnuj z podawania swojego adresu e-mail. Zamieszania jest z tym bardzo dużo, różnie się to sprawdza. Zamiast tego utwórz formularz kontaktowy.

Pamiętaj, że skoro na swojej stronie chronisz swój adres e-mail – to jest on zabezpieczony tak dobrze, jak zabezpieczenia które zastosowałeś. Nie powinieneś adresu e-mail podawać na innych stronach w komentarzach bądź innych publicznie dostępnych miejscach. Formularze na obcych stronach powinny natomiast być w porządku, choć nie przekonasz się o tym dopóki nie wyślesz wiadomości, chyba, że jest to jakaś podejrzana strona. A wpadki również się zdarzają.

I to tyle w tym temacie. Swój adres e-mail naprawdę ciężko jest chronić na własnej witrynie. Musisz też pogodzić się z faktem, że Twoją stronę może też odwiedzić człowiek, który ręcznie doda Twój adres e-mail do bazy. Z tym fantem nic nie zrobisz, a i formularz kontaktowy się nie sprawdzi – wystarczy, że wyśle Ci zły człowiek wiadomość, odpiszesz na nią i już pozamiatane.

Oprócz tego Twój adres e-mail może zostać wykradziony z książki adresowej Twojego kontrahenta poprzez wirusy, trojany bądź inne szkodliwe oprogramowanie. Wszystko to powoduje, że o ile owszem, warto utrudnić dostęp do adresu e-mail na swojej witrynie szkodliwym botom, gdyż to one najczęściej są odpowiedzialne za zdobycie Twojego adresu e-mail, to nie ma też sensu przesadzać. Jeśli jeszcze nie zauważyłeś, to na mojej stronie jest dostępny jedynie prosty formularz kontaktowy. Czas pokaże jak się sprawdzi to rozwiązanie.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *