Druga linia obrony - zabezpieczenie adresu mailowego
Czyli zabezpiecz swój adres mailowy i uważaj komu go podajesz.
Za cenne uwagi dziękuję Filipowi.
1. Adres mailowy na stronie www
Zabezpiecz adres przed skanowaniem przez automaty przeszukujące siec. Poczytaj
o tym w FAQ'u Pawła Krawczyka .
Roboty przeszukujące sieć mogą być uczulone na znak @ (czyli znak at,
u nas często fatalnie zwany "małpą") lub na ciąg mailto:.
Dlatego podając swój adres na stronie www należy go w jakiś sposób ukryć, np:
Użycie w adresie "odspamiacza"
Czyli zapisując adres w sposób zrozumiały dla
człowieka, ale nie dla robota, np. tak: adres@domena.usunto.pl,
albo adres(na serwerze)domena(wstaw kropkę)pl. Typowe metody, to
zastąpienie @ przez (at), [at], <at>. Niestety, są już roboty, które wykrywają
podobne odspamiacze (no, może niekoniecznie w języku polskim :-) ).
Patrz też niżej.
Przekodowanie adresu
Nie da on wprawdzie 100% ochrony, bo roboty skanujące sieć już
bywają "cwane" i chyba niektóre mogą odczytać taki zakodowany ciąg - jednak na razie
są to wypadki raczej sporadyczne. Aby przekodować swój adres lub jego fragment,
możesz użyć np. tego narzędzia . Adres przekodowany do numerów
znaków ascii i wklejony na stronie www zostanie poprawnie wyświetlony - ale raczej nie
może zostać przeczytany przez robota.
Można wymienić 3 co najmniej rodzaje przekodowań:
1. Zamiana znaków na encje numeryczne (numery znaków ascii)
Przy takiej zamianie wszystkie znaki są zamieniane na ich kody ascii, np. domena
na domena. Przy
takim kodowaniu można np. zakodować tylko znak @ (kod @) i kropki rozdzielające
(kod .), albo cały adres, wraz ze słówkiem mailto:, przy czym przekodowany może być zarówno
adres wewnątrz tagów html, jak i poza nimi - taki zapis nie robi żadnej różnicy większości przeglądarek,
łącznie z bardzo starymi, jak np. IE 3.03 - kiedyś testowałem na interpretacje kodów ascii kilka najróżniejszych
przeglądarek i testy wypadły dość pomyślnie.
2. Zamiana znaków na ich numery hexadecymalne - %HEX
Przy takiej zamianie wszystkie znaki są zamieniane na ich kody w systemie hexadecymalnym, przy czym w
odróżnieniu do numerów encji stosuje się zapis z % zamiast &# np. login@domena
na %6C%6F%67%69%6E%40%64%6F%6D%65%6E%61 (znak @ ma kod %40). Taki zapis może się znaleźć
tylko wewnątrz tagów HTML, ponieważ nie zostanie poprawnie zrenderowany przez przeglądarkę.
Z tego względu to, co jest na stronie widocznej nie może być w ten sposób zakodowane, więc jeśli chcesz
zapisać adres, warto znak @ zakodować jako encję lub grafikę.
Najprawdopodobniej jednak w większości przeglądarek (za to, niestety, nie mogę ręczyć) kliknięcie na link adresu
spowoduje otwarcie programu mailowego, np zapis:
<a href="mailto:login%40domena">login@domena</a>
da następujący rezultat: login@domena.
Uwaga: - istnieje niestety niebezpieczeństwo, że jeśli stronę przeczyta robot wrażliwy
na słówko mailto:, tak zakodowany adres zostanie odczytany i zapisany w bazie danych.
Jeśli teraz adres ten zostanie przekazany do programu do seryjnej wysyłki e-maili, jest możliwe,
że program ten poprawnie zinterpretuje zapis %40 jako @ - i wtedy cała zabawa z kodowaniem
adresu będzie na nic. Takie niebezpieczeństwo nie istnieje w wypadku zapisu znaku @ za pomocą encji
liczbowej, czyli jako @. Z tego względu - w mojej opinii - kodowanie za pomocą %HEX nie
jest dobrym rozwiązaniem przy stosowaniu bezpośrednim, ale może być doskonałym uzupełnieniem
metody z użyciem JavaScriptu (patrz następny paragraf).
3. Kodowanie ROT13 lub inne
Adres zakodowany metodą ROT13 trzeba ponownie tą samą metodą przekodować,
aby go odczytać. W takim wypadku nie ma sensu tworzenie na stronie "klikalnego" odnośnika, bo na
zrotowany adres i tak nikt nie może wysłać maila...
Mój adres zakodowany ROT13: ybtva@qbzran - aby
do mnie napisać, musisz go ponownie przekodować.
Użycie grafiki
Można zastąpić znak @ małym gifem - jeśli chcesz to proszę, oto gify do wykorzystania:
,
,
,
,
,
,
.
Możesz też cały zapis e-maila zastąpić obrazkiem - tego na razie nie da się zeskanować.
Tak zapisany adres raczej nie powinien być "kilkalny", choć jeśli chcesz ryzykować,
możesz stworzyć link przekodowując przy tym jednak słówko mailto:.
JavaScript
Można użyć javascriptu do zapisania kilikalnego odnośnika.
Rozwiązanie takie ma jednak tę słabość, że nie będzie działać u użytkowników, którzy
mają wyłączona obsługę JavaScriptu (inna sprawa, że jest ich raczej mało - z danych
jakie posiadam, w latach 2000-2002 takich użytkowników było 2-6%, w/g mojego
prywatnego badania na próbce około 700 tys. odwiedzin w 6 różnych witrynach).
Przykład 1
<SCRIPT language="JavaScript" type="text/javascript">
<!-- Original: CDR Software -->
<!-- Web Site: http://www.cdrsoft.com/ -->
<!-- This script and many more are available -->
<!-- free online at The JavaScript Source !! -->
<!-- http://javascript.internet.com/ -->
<!-- Begin
user = "xxx";
site = "yyy.zzz.pl";
document.write('<a href=\"mailto:'+user+'@'+site+'\">');
document.write(user+'@'+site+'<\/a>');
// End -->
</SCRIPT>
Efekt będzie następujący:
.
Przykład 2
<SCRIPT language="JavaScript" type="text/javascript">
<!-- Begin //
pr_1 = "mai";
pr_2 = "lto:";
login = "xxx";
at = "@";
serwer = "yyy.zzz.pl";
document.write('<a href=\"'+pr_1+pr_2+login+at+serwer+'\">');
document.write(login+at+serwer+'<\/a>');
// End -->
</SCRIPT>
Rezultat:
(Jest to wersja skryptu zaproponowanego przez Pawła F. Rożenka w
grupie news:pl.news.mordplik w lipcu 2002, jednak dodatkowo zabezpieczona
przed skanerami czułymi na słowo 'mailto:').
Przykład 3
<SCRIPT language="JavaScript" type="text/javascript">
<!-- // Begin
document.write("<A HREF=\"mailto:xxx"+String.fromCharCode(64));
document.write("yyy.zzz.pl\">mój adres<\/A>");
// End -->
</SCRIPT>
Rezultat:
Oczywiście, ww wszystkich wypadkach 'xxx' i 'yyy.zzz.pl' należy zastąpić odpowiednimi
danymi adresowymi. Możesz napisać inne wariacje tego kodu.
Inny sposób możesz zobaczyć w źródle strony, na której podaję swój adres mailowy.
Metoda paranoiczna
Możliwe jest również rozwiązanie, w którym adres jest naprawdę zaszyfrowany. Jim Tucek napisał
program generujący JavaScript, w którym adres jest
szyfrowany metodą RSA, a po kliknięciu
- rozkodowany z użyciem klucza publicznego. Takiego adresu nie można w żaden sposób "odczytać" z kodu strony.
Inne metody ochrony adresu
Kilka bardzo ciekawych pomysłów na ochronę adresu można też znaleźć w dyskusji
na ten temat, jaka miała miejsce na mordpliku:
Umieszczenie adresu poza stroną www
Jaki sens ma umieszczanie adresu poza stroną www ? ;-) W tej metodzie chodzi o
umieszczenie adresu w skrypcie wykonywanym po stronie serwera. Można z takiego skryptu
korzystać na 2 sposoby:
Adres e-mailowy w ogóle nie jest przekazywany do wysyłającego
Należy zrobić formularz, obsługiwany przez
skrypt, który "wie" na jaki adres należy przesłać wiadomość wpisaną do pola formularza. Jeśli wiadomość
Cię zainteresuje, odpowiesz nadawcy, ujawniając mu w ten sposób swój adres. Jeśli uznasz zaś, że wiadomość
jest nieciekawa, lub co gorsza była celowo wysłanym spamem (mało prawdopodobne), możesz np. zablokować nadawcy
dostęp do formularza na podstawie jego numeru IP (blokada taka nie jest nigdy całkowicie skuteczna).
Przykładowe skrypty tego rodzaju, to formmail.php lub formmail.pl . Podobnych skryptów jest
więcej. W trakcie instalacji skryptu formmail na swojej stronie warto zadbać o to, by adres e-mailowy
odbiorcy (twój) był do niego wpisany "na sztywno", co najmniej z 2 powodów: by nikt tego adresu nie mógł
przeczytać z formularza na stronie www, oraz by uniemożliwić
wykorzystywanie skryptu
do wysyłania spamu (skrypt powinien też być przed tym zabezpieczony przez jego autora - sprawdź to w jego opisie.)
Adres jest przekazywany do wysyłającego...
... nie jest jednak odczytywany bezpośrednio ze strony www.
Może on zostać przekazany przez dowolny skrypt działający po stronie serwera, jako nagłówek HTTP,
wywołujący po kliknięciu na odnośnik od razu program pocztowy z poprawnie wpisanym adresem odbiorcy.
Metoda może się wiązać z zastosowaniem spamtrapów, dlatego szerzej opisuję ją na stronie
Ofensywna walka ze spamem .
2. Adres mailowy w grupach dyskusyjnych
Nie używaj swojego prywatnego adresu mailowego w grupach dyskusyjnych - załóż
dodatkowe konto, które stanie się łapaczką spamu, albo używaj fikcyjnego adresu.
Jeśli swego "prawdziwego" adresu użyłeś choć raz w jakiejkolwiek grupie dyskusyjnej
- prędzej czy później zacznie na to konto przychodzić spam. Można się o tym
przekonać wysyłając post z nowego, specjalnie do celów prób założonego adresu,
do jakiejkolwiek grupy typu *.test - na 99% spam zacznie przychodzić na taki adres
najpóźniej po 48 godzinach.
Oczywiście, są osoby, które chcą używać swojego adresu w grupach dyskusyjnych
- tu wystarczy już tylko dopisać do prawdziwego adresu "odspamiacz"
typu adresNOSPAM@domena.pl (uwaga! to nie jest dobra metoda - patrz niżej)
lub adres@domena.usunto.pl.invalid - ale widziałem już reklamę
programu do zbierania adresów maiowych z usenetu, którego tfurca zapewniał,
że automatycznie usuwane są zabezpieczenia antyspamowe...
Ponadto trzeba się dobrze zastanowić nad sposobem zapisania odspamiacza.
Warto na przykład wiedzieć, że niektóre serwery news odrzucają posty wysłane
z nieistniejących adresów - z jednym wyjątkiem: akceptują zmianę adresu poprzez
dopisanie na końcu domeny .invalid (z kropką, oczywiście).
W takim wypadku trzeba adres zabezpieczać w lepszy sposób -
kodując ROT13 (choć już słyszałem o automatach
które rozkodowują ROT13), połączenie ROT13 i "odspamiacza". Inna metoda to
umieszczenie jako nadawcy kompletnie fikcyjnego adresu, a podanie właściwego
adresu nadawcy w stopce listu, wykorzystując albo kodowanie, albo różnego rodzaju
rebusy czy zagadki typu:
- mój adres: login, at, domena, kropka, com, kropka, pl;
- login.domena.com.pl, tylko pierwsza kropka to @;
- login%domena:com:pl, zamień znaki %=@,
:=. (lub cokolwiek innego zamiast @);
- moja strona to http://www.domena.com.pl/~login, a adresu się domyśl;
- mój email: lapaczka_spamu@domena.com.pl, a zamiast 'lapaczka_spamu' wpisz 'login'
(przy okazji pułapka na spam);
- mój adres: lEgin@dEmena.cEm.pl (E = o);
- mój adres złóż z części: user=login, domena=domena.com.pl;
- łągin@dąmęńą.pl, tylko zamień p-literki
(część z propozycji to pomysły Pawła Kierskiego oraz innych
czytelników, w grupie news:pl.news.mordplik, październik 2002).
Przeczytaj też koniecznie poradnik Address
Munging FAQ - FAQ Ukrywania Adresów. Nawet jeśli nie znasz angielskiego, podane przykłady
są tak czytelne, że nie będziesz miał kłopotów ze zrozumieniem.
Tu tylko jedna uwaga dla ułatwienia - nie stosuj zabezpieczenia typu adres@usunto.domena.pl,
ponieważ może to być powodem kłopotów właściciela tej domeny - czyli zapewne Twojego ISP'a. Raczej użyj
adres@domena.usunto.pl, ponieważ pierwszy z tych 2 adresów tak czy siak trafi najprawdopodobniej
do właściciela domeny 'domena.pl' i będzie się obijał po serwerze, szukając skrzynki odpowiadającej adresowi
adres@usunto.domena.pl - drugi zaś będzie szukał właściciela domeny 'usunto.pl', do którego może trafić,
jeśli ktoś wykupił taką właśnie domenę. Z tego powodu domena 'usunto.pl' jest w zasadzie z góry "spalona"
(zbyt popularna pułapka), a jeśli chcesz używać jako "odspamiacz" innego słowa, to powinno ono być możliwie
dziwaczne lub nieprawdopodobne do zarejestrowania jako samodzielna nazwa domeny.
Możesz ponadto przetestować swoje zabezpieczenie jednym z narzędzi do sprawdzania zabezpieczenia adresów e-mailowych
w usenecie: Piotra Buśki mechanizm sprawdzania jakości blokady
antyspamowej e-mail lub Macieja Ananicza tester
adresów email .
3. Nie rozdawaj adresów nieznajomym
Wiele serwisów internetowych żąda podania adresu mailowego, na który ma być
posłane jakieś hasło, kod dostępu, potwierdzenie itp. Nie miej złudzeń - jeśli
serwis jest "darmowy", to celem jego istnienia jest często właśnie zbieranie
takich adresów mailowych, a następnie sprzedawanie ich spamerom. Pozwala to
stworzyć dość dobrze "stargetowaną" grupę odbiorców - wszak firma zbierająca
adresy dość dobrze wie, co Cię zainteresowało na ich stronie. Jeśli zatem
musisz korzystać z tego typu usług, załóż sobie konto z góry spisane na straty
- najlepiej na jakimś darmowym serwisie.
Aliasy pocztowe
Jeśli lubisz swój e-mail i nie chcesz być zmuszonym co jakiś czas tworzyć nowy adres
- możesz posłużyć się aliasami pocztowymi: tworzysz alias do adresu i posługujesz
się nim jakiś czas. Następnie tworzysz kolejny adres, na który przekierowywana będzie
Twoja poczta - ale cały czas odbierasz ją z tej samej skrzynki. Kiedy alias się
zdezaktualizuje - poczta na ten adres przychodząca może być albo kasowana, albo
odsyłana do nadawcy - wszystko zależy od Ciebie. W tej metodzie istotne jest, by
nikomu nie ujawnić swojego prawdziwego adresu.
Jeśli Twój provider nie zapewnia tak elastycznej obsługi aliasów pocztowych,
możesz skorzystać z bardzo wygodnej usługi, polegającej na tworzeniu aliasów na
zawołanie. Usługi takie oferuje między innymi:
- Serwis PRV.PL
- użytkownicy
zarejestrowanych w serwisie subdomen (domena.prv.pl) mogą wykupić dodatkowo płatne
aliasy pocztowe: za 9,- zł (+ VAT) rocznie można mieć dowolną liczbę, dowolnie konfigurowalnych
aliasów. Rezygnacja z opcji "Poczta na dowolny inny adres w domenie @nazwa.prv.pl wysłana będzie
do:" powoduje obijanie poczty przysłanej na nieistniejący alias, czyli likwidacja aliasu i
utworzenie nowego spełnia warunki tymczasowego aliasu pocztowego.
- SpamMotel
- (freeware) możesz
do każdego utworzonego aliasu dodać notatkę komu i kiedy go udostępniłeś (co łatwo
pozwoli wytypować firmy sprzedające adresy mailowe), każdy alias może być oddzielnie
aktywowany i dezaktywowany. (Windows)
- Sneakemail
- (freeware lub płatny) nieograniczona liczba aliasów
również w wersji darmowej, "czarne" i "białe" listy. (niezależny od OS)
- SpamCon
- (freeware lub płatny,
w zależności od opcji) - za darmo do 3 adresów, wersja płatna - 500 adresów. (niezależny od OS)
- NetMails.NET
- (freeware) - do 100 adresów, ale dostęp
tylko przez stronę www.
- Emailias.com
- podobny do SpamMotel, ale płatny. (Windows)
- Spamex
- (płatny) - tworzysz kilka
adresów, które są aktywowane na życzenie. (niezależny od OS)
Tymczasowe aliasy pocztowe
Czsem nie chcemy tworzyć aliasu pocztowego albo wręcz nie mamy takiej możliwości - np. podajemy
adres e-mailowy rozmówcy, będąc z dala od komputera. I na to jest rozwiązanie! Możemy skorzystać
z tymczasowego adresu. Są 2 metody tworzenia takich adresów - z rejestracją, albo bez rejestracji.
W tym ostatnim przypadku możesz po prostu "wymyślić" adres w czasie spotkania boznesowego, podać
go rozmówcy - a po powrocie do domu czy firmy sprawdzić, co rozmówca przysłał na ten wymyślony adres.
- SpamGourmet
- (freeware) tworzysz alias, jednocześnie
określając ile listów (max.20) może na ten adres przyjść. Każdy następny e-mail będzie rejestrowany
tylko do celów statystycznych - a następnie kasowany. Adresy: @spamgourmet.com. (niezależny od OS)
- SpamhOle.com
- (freeware) tworzysz alias
określając jak długo adres ma funkcjonować - można wybrać od 1 do 72 godzin. Aby założyć alias trzeba
się zarejestrować. Do wyboru są tymczasowe aliasy bez hasła lub chronione hasłem.
Adresy: @spamhole.com (niezależny od OS)
- Mailexpire
- (freeware) tworzysz alias
określając jak długo adres ma funkcjonować - można wybrać od 12 godzin do 3 miesięcy. Aby założyć alias
trzeba się zarejestrować. Do adresu można dodać notatkę komu został on udostępniony.
Adresy: @mailexpire.com, (niezależny od OS)
- Mailinator
- (freeware) nie wymaga rejestracji
- konto jest tworzone w momencie otrzymania poczty na adres w domenie @mailinator.com.
Aby przeczytać pocztę należy na stronie głównej podać nazewę tego konta, nie ma żadnego hasła.
Ograniczenie - nazwa konta nie może mieć więcej niż 15 znaków. Uwaga! nie udało mi się przeprowadzić testu
usługi, poczta była odbijana - być może to chwiliwe kłopoty, bo na stronie www nie ma informacji o
wyłączeniu usługi. (niezależny od OS)
Poprzednia strona:
Pierwsza linia obrony - oprogramowanie »
Następna strona:
Trzecia linia obrony - ustal zasady »
|