Макрокоманда MailTo
<<TableOfContetnts>>
Использование макрокоманды `MailTo` позволяет размещать почтовый адрес на вики способом, препятствующим его автоматическому распознанию спам-ботом (роботом, собирающим почтовые адреса).
Использование
`<почтовый DOT адрес AT домен DOT ru>`
или
`текст ссылки <почтовый DOT адрес AT домен DOT ru>`
Что делает эта макрокоманда?
Разделаются аутентифицированные и неаутентифицированные пользователи (в число последних входят спам-боты).
Предполагается, что аутентифицированные пользователи имеют возможность прочитать адрес и воспользоваться им путём перехода по ссылке, с ним связанной (в противном случае этот адрес не публиковался бы на вики)
Неаутентифицированные же пользователи бывают разные — как легитимные пользователи, так и те (например, спам-боты), кто занимается сбором почтовых адресов для рассылки непрошеной коммерческой рекламы (это весьма насущная проблема в интернете).
Аутентифицированные пользователи
Аутентифицированные пользователи увидят следующее:
Таким образом, им будет предоставлен читаемый и доступный для перехода адрес по протоколу `mailto:`.
Неаутентифицированные пользователи
Неаутентифициованные пользователи (в том числе спам- и прочие боты) увидят необработанный текст, переданный в качестве аргумента, переданного макрокоманде
- имя DOT пользователя AT домен DOT ru
Чистый текст, без ссылки `mailto:`. Человек может прочитать его и использовать в почтовом клиенте вручную. Но бот, вероятно, не сможет ничего сделать с ним и, вероятно, пропустит его (кроме случаев достаточно интеллектуальных ботов, подробнее см. ниже); таким образом, макрокоманда выполнит своё предназначение, позволив избежать (увеличения количества) спама.
Схема работа макрокоманды и некоторые примеры
В случае неаутентифицированного пользователя макрокоманда в качестве результата возвращает необработанный текст, переданный в качестве аргумента.
В случае аутентифицированного пользователя, макрокоманда обрабатывает текст аргумента следующим образом:
- Слова, состоящие из заглавных букв, заменяются следующим образом
AT
`@`
DOT
`.`
DASH
`-`
- Прочие слова, набранные заглавными символами, например, «НЕТСПАМУ», «НЕТ СПАМУ», «ЧТО УГОДНО», «Я НЕ ХОЧУ ПОЛУЧАТЬ СПАМ» и т. д., будут опущены (заменены на пустую строку).
- Пробельные символы удаляются
Генерируется рабочая ссылка `mailto:`
разумеется, существует вероятность, что интеллектуальный спам-бот распознаёт типичные способы защиты от спама, в том числе, использование слов «AT», «DOT», «НЕТ СПАМУ» и корректно их обработает. Вероятность подобного уменьшается при добавлении других (обычных) слов и пробельных символов. Вероятность того, что спам-бот распознает адрес в этом случае, очень и очень низка (кроме случаев, когда он заточен под обход вики на МойнМойн).
Можно оценить эффект использования макрокоманды `MailTo` на следующих примерах (сравнивая результат для аутентифицированных и неаутентифицированных пользователей):
Разметка |
Результат |
`<имя DOT пользователя AT домен DOT ru>` |
<имя DOT пользователя AT домен DOT ru> |
`<имя . пользователя AT до м ен DOT r u>` |
<имя . пользователя AT до м ен DOT r u> |
`<имя Я НЕ ХОЧУ ПОЛУЧАТЬ СПАМ . пользователя@домен DOT ru>` |
<имя Я НЕ ХОЧУ ПОЛУЧАТЬ СПАМ . пользователя@домен DOT ru> |
`<и мя DOT Я пользователя НЕ AT ХОЧУ СПАМ домен DOT r u>>` || <<MailTo(и мя DOT Я пользователя НЕ AT ХОЧУ СПАМ домен DOT r u> |
|
`Сам себе я <имя DOT пользователя AT домен DOT ru>` |
Сам себе я <имя DOT пользователя AT домен DOT ru> |
Возможность добавлять слова в верхнем регистре затрудняет прочтение адреса как для ботов, так и для людей. Если адрес будет достаточно сложным для прочтения человеком, то он не сможет связаться с обладателем почтового ящика.