Как защитить электронный адрес от спаммерских ботов — шорткод обфускатора

Как спам попадает к вам в почту? Одним из путей является публикация электронного почтового адреса в открытом виде. Множество ботов бороздят сайты в поисках электронных адресов, из найденных создают базу данных, по которой потом и производят массовую рассылку спама. Как же защититься от таких ботов, но при этом оставить электронный почтовый адрес понятным и доступным для обычных людей? Вот тут и приходит на помощь обфускатор.

Обфускация в вебе — это прием, при котором внешний вид написанного как бы остается таким же, но вот для ботов текст становится непригодным набором малозначительных символов. Боты (скрипты) изучают исходный код страницы, и оттуда выуживают электронные адреса. Обфускатор изменяет исходный код текста таким образом, чтобы электронный адрес был написан не в явном виде, а с помощью специальных символов — кодов ASCII, HTML-кодов. Например, электронный адрес email@yourdomain.com после обработки обфускатором будет выглядеть для бота вот так:

email@email.com

Для удобной вставки текста, обратотанного обфускатором, заменяющим символы юникода на их HTML-сущности, давайте создадим шорткод. Для этого откройте файл functions.php, и вставьте в него следующий код:

function cwc_mail_shortcode( $atts , $content=null ) {
    for ($i = 0; $i < strlen($content); $i++) $encodedmail .= "&#" . ord($content[$i]) . ';';
    return '<a href="mailto:'.$encodedmail.'">'.$encodedmail.'</a>';
}
add_shortcode('mailto', 'cwc_mail_shortcode');

После этого можете смело вставлять электронные почтовые адреса в содержимое страниц и постов с помощью шорткода mailto:

[mailto]email@yourdomain.com[/mailto]

Шорткод преобразует электронный адрес в набор символов, непригодный для ботов и скриптов.

tiaurus

Автор n-wp.ru — блога о WordPress для новичков.

Оцените автора
Добавить комментарий

  1. rainylive

    Спасибо, незаменимый хук

    Ответить