Как спам попадает к вам в почту? Одним из путей является публикация электронного почтового адреса в открытом виде. Множество ботов бороздят сайты в поисках электронных адресов, из найденных создают базу данных, по которой потом и производят массовую рассылку спама. Как же защититься от таких ботов, но при этом оставить электронный почтовый адрес понятным и доступным для обычных людей? Вот тут и приходит на помощь обфускатор.
Обфускация в вебе – это прием, при котором внешний вид написанного как бы остается таким же, но вот для ботов текст становится непригодным набором малозначительных символов. Боты (скрипты) изучают исходный код страницы, и оттуда выуживают электронные адреса. Обфускатор изменяет исходный код текста таким образом, чтобы электронный адрес был написан не в явном виде, а с помощью специальных символов – кодов 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]
Шорткод преобразует электронный адрес в набор символов, непригодный для ботов и скриптов.
Спасибо, незаменимый хук