Адреси електронної пошти, які публічно розміщуються на веб-сторінках у вигляді звичайного тексту, дуже швидко збираються спам-ботами і використовуються для відправки небажаних електронних листів. Щоб зупинити або, принаймні, ускладнити масовим розсилкам збір загальнодоступних електронних листів, ми можемо використовувати деякі методи обфускації електронної пошти. Захист загальнодоступних адрес електронної пошти шляхом їх заплутування може не тільки зменшити кількість спаму, але й вважається ввічливим жестом.
У вашому розпорядженні є кілька методів приховати або іншими словами приховати адреси електронної пошти, розміщені на загальнодоступних веб-сторінках від спам-ботів.
1. Адреса Мунгінг
Мангування адреси електронної пошти - це форма заплутування, коли частини адреси електронної пошти будуть змінені таким чином, що вона більше не буде виглядати як електронний лист, але кінцевий користувач (людина) все одно зможе її відтворити.
Складність такого підходу дійсно залежить від творчості людини. Деякі з поширених прийомів полягають у заміні розділових знаків словами, що відображають "." як "(крапка)" та "@" як "at". Інші популярні варіанти - розділити слова в електронному листі пробілами або, можливо, додати пробіл між кожним символом, або навіть змінивши всю адресу електронної пошти.
Приклад: [email protected]
no spam at example (dot) com
Добре:
- Дуже легко реалізувати
- Кросбраузерність сумісна.
- JavaScript не потрібен.
Поганий:
- Спам-ботам легко обійти.
- Не працює з посиланням MAILTO.
- Непрозорий – видимий для користувачів.
- Користувачам доводиться робити частину «розшифровки».
Іноді це єдиний спосіб заплутати електронні листи в чатах або коментарях до статей, але не рекомендується використовувати його на веб-сторінках.
2. Кодування
Unicode По суті, Юнікод - це таблиця чисел для кожної літери або символу, незалежно від мови, платформи або програмного забезпечення. Кожному символу присвоюється код, тому ідея полягає в тому, щоб замінити видимі символи відповідними номерами з таблиці Юнікод. Нижче наведено базову таблицю з найпоширенішими символами
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 |
(ASCII). Використовуючи цю таблицю, ми можемо замінити кожен символ у [email protected] електронному листі на
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.
Добре:
- Простота реалізації
- Добре працює з посиланням MAILTO.
- Кросбраузерність сумісна.
- JavaScript не потрібен.
- Прозорий для користувачів.
Поганий:
- Спам-ботам дуже легко обійти.
- Низький рівень захисту.
Добре в середовищі, де повинна відображатися електронна пошта, а javascript або css не підтримуються. Краще, ніж нічого, але в цілому спам-ботам занадто легко обійти.
3. Коментарі
html У html коментарі вводяться між тегом "<!- ... ->". Оскільки коментарі не відображаються в браузері, ви можете вставити їх в адресу електронної пошти, щоб скинути спам-ботів.
Приклад: [email protected]
no<!– spam –>spam<!– @ –>@<!– –>example<!– . –>.<!– spam. –>com
Добре:
- Дуже легко реалізувати
- Кросбраузерна сумісність
- JavaScript не потрібен.
- Прозорий для користувачів.
Поганий:
- Спам-ботам дуже легко обійти
- Не працює з посиланням MAILTO
Добре, якщо немає підтримки javascript або css. В цілому цей варіант не рекомендується, оскільки його занадто легко обійти.
4.CSS – властивість вмісту Властивість
CSS content" може бути використана з псевдоелементами ":before" або ":after" для вставки вмісту в елемент HTML.
Приклад: [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.
Добре:
- Простота реалізації
- JavaScript не потрібен.
- Прозорий для користувачів.
Поганий:
- Не працює з IE8 або старішими версіями.
5.CSS – властивість direction Властивість
direction в CSS відноситься до напрямку тексту. Для деяких мов, таких як іврит або арабська, напрямок тексту справа наліво (rtl), а для інших - зліва направо (ltr). Ми можемо писати адреси електронної пошти у зворотному напрямку, і разом із властивістю unicode-bidi ми можемо використовувати її для перезапису та зміни напрямку адреси електронної пошти під час відтворення у браузері.
Приклад: [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.
Добре:
- Простота реалізації
- JavaScript не потрібен.
- Прозорий для користувачів.
Поганий:
- Не працює з IE8 або старішими версіями.
6.CSS – властивість display Властивість
display дозволяє вказати "none", що означає, що елемент не буде виведений при візуалізації браузером. Маючи це на увазі, ми можемо вводити різні теги html в адресу електронної пошти, що ускладнює її вилучення.
Приклад: [email protected]
<style type=”text/css”>
.hide { display:none; }
</style>nospam<span class=”hide”>null</span>@<p>null</p>example.com
Добре:
- Простота реалізації
- JavaScript не потрібен.
- Прозорий для користувачів.
Поганий:
- Не працює з посиланням MAILTO
7. Javascript: Існує кілька способів використання javascript
для виведення тексту, але найпростішим є метод document.write(). В основному ми можемо вивести будь-який html або текст у браузер
Приклад: [email protected]
let s1 = “nospam”;
let s2 = “@”;
let s3 = “example.com”;
document.write(s1 + s2 + s3);
Добре:
- Прозорий для користувачів.
- Відмінний рівень заплутування.
- Можна використовувати з посиланням MAILTO.
Поганий:
- Потрібно, щоб у браузерах увімкнено JavaScript.
- Деякі редактори WYSIWYG можуть обмежувати JavaScript, що ускладнює його реалізацію.
8. Шифрування ROT13 Rot13
- це шифр, який заснований на обертанні літерних символів на 13. Числові та жодні літерні символи залишаються незмінними. Оскільки в англійському алфавіті є 26 літер, що обертають символи на 13, кодують і декодують рядок. Отже, в нашому тестовому електронному листі першою літерою нашого електронного листа є "n", яка стане "a", оскільки ми нарахуємо 13 букв з "n" в алфавіті по колу.
Приклад: [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]’));
Добре:
- Прозорий для користувачів.
- Хороший рівень заплутування.
- Можна використовувати з посиланням MAILTO.
- Можна використовувати в чатах і форумах
Поганий:
- Потрібно ввімкнути JavaScript у браузерах для автоматичного декодування.
- Деякі редактори WYSIWYG можуть обмежувати JavaScript, що ускладнює його реалізацію.