Как защитить адрес электронной почты от спам-ботов на WordPress используя шорткод

 12 ноября 2017      
 WordPress      
 Комментариев еще нет      
 34

Базы данных электронных рассылок пополняются в том числе и благодаря работе спам-ботов.

Ранее я уже писал как скрыть email адрес у себя на сайте от спам-ботов — https://moonback.ru/page/css-email-protect. В этой же статье я расскажу как спрятать email от спам-ботов на WordPress и использовать шорткод (shortcode) для вставки в содержимое страниц и постов.

Спам-бот — это специализированное программное обеспечение, которое индексирует сайты с целью поиска адресов электронной почты.

Преобразование email адреса в HTML сущности

Для маскировки адресов электронной почты, чтобы запутать спам-ботов будем менять символы на их коды (HTML сущности).

Для преобразования символов в их коды в WordPress есть функция antispambot(). Чтобы ею можно было пользоваться внутри страниц и записей нужно добавить шорткод и назначим ему специальную функцию.

Нижеследующий фрагмент кода на PHP необходимо добавить в файл function.php:

/**
 * Hide email from Spam Bots using a shortcode.
 *
 * @param array  $atts    Shortcode attributes. Not used.
 * @param string $content The shortcode content. Should be an email address.
 *
 * @return string The obfuscated email address. 
 */
function wpcodex_hide_email_shortcode( $atts , $content = null ) {
	if ( ! is_email( $content ) ) {
		return;
	}

	return '<a href="mailto:' . antispambot( $content ) . '">' . antispambot( $content ) . '</a>';
}
add_shortcode( 'email', 'wpcodex_hide_email_shortcode' );

Как использовать

Для того, чтобы замаскировать email адрес внутри страницы используйте шорткод [email]:

[email]mymail@domainname.tld[/email]

Результат

Результатом работы функции будем набор оригинальных символов перемешанных с HTML сущностями. В браузере все будет отображаться корректно, а у спам-бота должны возникнуть большие проблемы с распознованием адреса электронной почты, так как он «увидит» примерно следующее:

<a href="mailto:mai&#108;&#64;r&#97;&#115;&#115;&#97;dni&#107;&#111;v.r&#117;">&#109;ail&#64;&#114;a&#115;sad&#110;&#105;&#107;&#111;v.ru</a>

WordPress функция antispambot() при каждом запуске выдает разную последовательность символов и сущностей.

Благодарности

При написании статьи были использованы следующие источники

  1. https://codex.wordpress.org/Function_Reference/antispambot
Поделись страницей с друзьями!

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить" я даю свое согласие на обработку введенной мной персональной информации в соответствии с Федеральным Законом от 27.07.2006 №152-ФЗ "О персональных данных", на условиях и для целей определенных политикой конфиденциальности.

2017 © Технический блог
SQL - 60 | 0,236 сек. | 10.68 МБ
доступность сайта