Adresy e-mail, które są publicznie publikowane na stronach internetowych w postaci zwykłego tekstu, będą bardzo szybko zbierane przez roboty spamowe i wykorzystywane do wysyłania niechcianych wiadomości e-mail. Aby zatrzymać lub przynajmniej utrudnić masowym e-mailom zbieranie publicznie dostępnych wiadomości e-mail, możemy wykorzystać niektóre techniki zaciemniania wiadomości e-mail. Ochrona publicznie wyświetlanych adresów e-mail poprzez ich zaciemnianie może nie tylko ograniczyć spam, ale jest również uważana za uprzejmy gest.
Istnieje kilka technik do Twojej dyspozycji, aby zaciemnić lub innymi słowy ukryć adresy e-mail publikowane na publicznie dostępnych stronach internetowych przed spamerami.
1. Munging adresu e-mail Munging
adresu e-mail to forma zaciemniania, w której części adresu e-mail zostałyby zmodyfikowane w taki sposób, że nie wyglądałby już jak wiadomość e-mail, ale użytkownik końcowy (człowiek) nadal byłby w stanie go zrekonstruować.
Złożoność tego podejścia naprawdę zależy od ludzkiej kreatywności. Niektóre z powszechnych technik polegają na zastąpieniu znaków interpunkcyjnych słowami wyświetlającymi "." jako "(kropka)" i "@" jako "at". Inne popularne opcje to oddzielenie słów w wiadomości e-mail spacjami lub dodanie spacji między każdym znakiem, lub nawet odwrócenie całego adresu e-mail.
Przykład: [email protected]
no spam at example (dot) com
:
- Bardzo łatwy do wdrożenia
- Kompatybilny z różnymi przeglądarkami.
- JavaScript nie jest wymagany.
Zły:
- Łatwe do obejścia przez boty spamowe.
- Nie działa z linkiem MAILTO.
- Nieprzezroczyste — widoczne dla użytkowników.
- Użytkownicy muszą wykonać część "dekodowania".
Czasami jest to jedyny sposób na zaciemnienie wiadomości e-mail na czatach lub komentarzach do artykułów, ale nie zaleca się używania go na stronach internetowych.
2. Kodowanie
Unicode W istocie Unicode jest tabelą liczb dla każdej litery lub znaku, niezależnie od języka, platformy lub oprogramowania. Każdy znak ma przypisany kod, więc pomysł polega na zastąpieniu widocznych znaków odpowiadającymi im liczbami z tabeli Unicode. Poniżej znajduje się podstawowa tabela z najczęstszymi znakami (ASCII).
Decimal Code | HTML encoding | Character | Name |
32 |   | SPACE | |
33 | ! | ! | EXCLAMATION MARK |
34 | " | “ | QUOTATION MARK |
35 | # | # | NUMBER SIGN |
36 | $ | $ | DOLLAR SIGN |
37 | % | % | PERCENT SIGN |
38 | & | & | AMPERSAND |
39 | ' | ‘ | APOSTROPHE |
40 | ( | ( | LEFT PARENTHESIS |
41 | ) | ) | RIGHT PARENTHESIS |
42 | * | * | ASTERISK |
43 | + | + | PLUS SIGN |
44 | , | , | COMMA |
45 | - | – | HYPHEN-MINUS |
46 | . | . | FULL STOP |
47 | / | / | SOLIDUS |
48 | 0 | 0 | DIGIT ZERO |
49 | 1 | 1 | DIGIT ONE |
50 | 2 | 2 | DIGIT TWO |
51 | 3 | 3 | DIGIT THREE |
52 | 4 | 4 | DIGIT FOUR |
53 | 5 | 5 | DIGIT FIVE |
54 | 6 | 6 | DIGIT SIX |
55 | 7 | 7 | DIGIT SEVEN |
56 | 8 | 8 | DIGIT EIGHT |
57 | 9 | 9 | DIGIT NINE |
58 | : | : | COLON |
59 | ; | ; | SEMICOLON |
60 | < | < | LESS-THAN SIGN |
61 | = | = | EQUALS SIGN |
62 | > | > | GREATER-THAN SIGN |
63 | ? | ? | QUESTION MARK |
64 | @ | @ | COMMERCIAL AT |
65 | A | A | LATIN CAPITAL LETTER A |
66 | B | B | LATIN CAPITAL LETTER B |
67 | C | C | LATIN CAPITAL LETTER C |
68 | D | D | LATIN CAPITAL LETTER D |
69 | E | E | LATIN CAPITAL LETTER E |
70 | F | F | LATIN CAPITAL LETTER F |
71 | G | G | LATIN CAPITAL LETTER G |
72 | H | H | LATIN CAPITAL LETTER H |
73 | I | I | LATIN CAPITAL LETTER I |
74 | J | J | LATIN CAPITAL LETTER J |
75 | K | K | LATIN CAPITAL LETTER K |
76 | L | L | LATIN CAPITAL LETTER L |
77 | M | M | LATIN CAPITAL LETTER M |
78 | N | N | LATIN CAPITAL LETTER N |
79 | O | O | LATIN CAPITAL LETTER O |
80 | P | P | LATIN CAPITAL LETTER P |
81 | Q | Q | LATIN CAPITAL LETTER Q |
82 | R | R | LATIN CAPITAL LETTER R |
83 | S | S | LATIN CAPITAL LETTER S |
84 | T | T | LATIN CAPITAL LETTER T |
85 | U | U | LATIN CAPITAL LETTER U |
86 | V | V | LATIN CAPITAL LETTER V |
87 | W | W | LATIN CAPITAL LETTER W |
88 | X | X | LATIN CAPITAL LETTER X |
89 | Y | Y | LATIN CAPITAL LETTER Y |
90 | Z | Z | LATIN CAPITAL LETTER Z |
91 | [ | [ | LEFT SQUARE BRACKET |
92 | \ | \ | REVERSE SOLIDUS |
93 | ] | ] | RIGHT SQUARE BRACKET |
94 | ^ | ^ | CIRCUMFLEX ACCENT |
95 | _ | _ | LOW LINE |
96 | ` | ` | GRAVE ACCENT |
97 | a | a | LATIN SMALL LETTER A |
98 | b | b | LATIN SMALL LETTER B |
99 | c | c | LATIN SMALL LETTER C |
100 | d | d | LATIN SMALL LETTER D |
101 | e | e | LATIN SMALL LETTER E |
102 | f | f | LATIN SMALL LETTER F |
103 | g | g | LATIN SMALL LETTER G |
104 | h | h | LATIN SMALL LETTER H |
105 | i | i | LATIN SMALL LETTER I |
106 | j | j | LATIN SMALL LETTER J |
107 | k | k | LATIN SMALL LETTER K |
108 | l | l | LATIN SMALL LETTER L |
109 | m | m | LATIN SMALL LETTER M |
110 | n | n | LATIN SMALL LETTER N |
111 | o | o | LATIN SMALL LETTER O |
112 | p | p | LATIN SMALL LETTER P |
113 | q | q | LATIN SMALL LETTER Q |
114 | r | r | LATIN SMALL LETTER R |
115 | s | s | LATIN SMALL LETTER S |
116 | t | t | LATIN SMALL LETTER T |
117 | u | u | LATIN SMALL LETTER U |
118 | v | v | LATIN SMALL LETTER V |
119 | w | w | LATIN SMALL LETTER W |
120 | x | x | LATIN SMALL LETTER X |
121 | y | y | LATIN SMALL LETTER Y |
122 | z | z | LATIN SMALL LETTER Z |
123 | { | { | LEFT CURLY BRACKET |
124 | | | | | VERTICAL LINE |
125 | } | } | RIGHT CURLY BRACKET |
126 | ~ | ~ | TILDE |
Korzystając z tej tabeli, możemy zastąpić każdy znak w e-mailu [email protected] dobrem
nospa&#;@example.com
However a browser will convert those numbers back to their representation and display it to the users. There are many Unicode encoders out there making it a quick an easy solution.
:
- Łatwość wdrożenia
- Działa dobrze z linkiem MAILTO.
- Kompatybilny z różnymi przeglądarkami.
- JavaScript nie jest wymagany.
- Niewidoczny dla użytkowników.
Zły:
- Bardzo łatwe do obejścia przez boty spamowe.
- Niski poziom ochrony.
Dobry w środowisku, w którym e-mail musi być wyświetlany, a javascript lub css nie jest obsługiwany. Lepsze to niż nic, ale ogólnie zbyt łatwe do obejścia przez boty spamowe.
3. Komentarze
HTML W html komentarze są wprowadzane między znacznikiem "<!– ... –>". Ponieważ komentarze nie są renderowane w przeglądarce, możesz wtrącić je na adres e-mail, aby wyrzucić spamerów.
Przykład: [email protected]
no<!– spam –>spam<!– @ –>@<!– –>example<!– . –>.<!– spam. –>com
:
- Bardzo łatwy do wdrożenia
- Kompatybilny z różnymi przeglądarkami
- JavaScript nie jest wymagany.
- Niewidoczny dla użytkowników.
Zły:
- Bardzo łatwe do obejścia przez boty spamowe
- Nie działa z linkiem MAILTO
Dobrze, jeśli nie ma obsługiwanego javascript lub css. Ogólnie rzecz biorąc, ta opcja nie jest zalecana, ponieważ jest zbyt łatwa do obejścia.
4.CSS – właściwość
content Właściwość CSS "content" może być używana z pseudoelementami ":before" lub ":after" do wstawiania treści do elementu HTML.
Przykład: [email protected]
<style type=”text/css”>
span.email:after { content: “nospam\40example.com”; }
</style><span class=”email”></span>
This method can be more effective if included in external css file.
:
- Łatwość wdrożenia
- JavaScript nie jest wymagany.
- Niewidoczny dla użytkowników.
Zły:
- Nie działa z IE8 lub starszym.
5.CSS – właściwość
direction Właściwość direction w CSS odnosi się do kierunku tekstu. W niektórych językach, takich jak hebrajski lub arabski, kierunek tekstu to od prawej do lewej (rtl), podczas gdy w innych jest od lewej do prawej (ltr). Możemy pisać adresy e-mail w odwrotnej kolejności i wraz z właściwością Unicode-bidi możemy ją wykorzystać do nadpisania i zmiany kierunku adresu e-mail podczas renderowania w przeglądarce.
Przykład: [email protected]
<style type=”text/css”>
span.reverse { unicode-bidi:bidi-override; direction: rtl; }
</style><span>moc.elpmaxe@mapson</span>
As with css content property method this will be more effective when included in external stylesheet.
:
- Łatwość wdrożenia
- JavaScript nie jest wymagany.
- Niewidoczny dla użytkowników.
Zły:
- Nie działa z IE8 lub starszym.
6.CSS – właściwość
display Właściwość display umożliwia określenie "none", co oznacza, że element nie zostanie wyprowadzony podczas renderowania przez przeglądarkę. Mając to na uwadze, możemy wstrzykiwać różne tagi html do adresu e-mail, co utrudnia jego wyodrębnienie.
Przykład: [email protected]
<style type=”text/css”>
.hide { display:none; }
</style>nospam<span class=”hide”>null</span>@<p>null</p>example.com
:
- Łatwość wdrożenia
- JavaScript nie jest wymagany.
- Niewidoczny dla użytkowników.
Zły:
- Nie działa z linkiem MAILTO
7. JavaScript
Istnieje wiele sposobów użycia javascript do wyprowadzania tekstu, ale najłatwiejszą jest metoda document.write(). Możemy w zasadzie wyprowadzić dowolny kod html lub tekst do przeglądarki.
Przykład: [email protected]
let s1 = “nospam”;
let s2 = “@”;
let s3 = “example.com”;
document.write(s1 + s2 + s3);
:
- Niewidoczny dla użytkowników.
- Doskonały poziom zaciemnienia.
- Może być używany z linkiem MAILTO.
Zły:
- Wymaga włączonej obsługi JavaScript w przeglądarkach.
- Niektóre edytory WYSIWYG mogą ograniczać javascript, co utrudnia jego implementację.
8. Szyfrowanie
ROT13 Rot13to szyfr oparty na rotacji znaków alfabetycznych o 13. Znaki numeryczne i brak znaków alfabetycznych pozostają niezmienione. Ponieważ w alfabecie angielskim jest 26 liter, obracanie znaków o 13 koduje i dekoduje ciąg . Tak więc w naszym testowym e-mailu pierwszą literą naszego e-maila jest "n", które stałoby się "a", ponieważ policzylibyśmy 13 liter z "n" w alfabecie w kółku.
Przykład: [email protected]
function str_rot13(str) {
return (str + ”).replace(/[a-z]/gi, function(s) {
return String.fromCharCode(s.charCodeAt(0) + (s.toLowerCase() < ‘n’ ? 13 : -13));
});
}
document.write(str_rot13(‘[email protected]’));
:
- Niewidoczny dla użytkowników.
- Dobry poziom zaciemnienia.
- Może być używany z linkiem MAILTO.
- Może być używany na czatach i forach
Zły:
- Wymaga włączonej obsługi JavaScript w przeglądarkach do automatycznego dekodowania.
- Niektóre edytory WYSIWYG mogą ograniczać javascript, co utrudnia jego implementację.