antispambot — функция для защиты email адресов на блоге от спам-ботов

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

Функция преобразует рандомные символы в емаил в HTML-сущности, тем самым делая его невидимым для ботов.

Что будет видеть бот:

true@truemisha.ru

Что будет видеть человек:

true@truemisha.ru

Мне кажется этот способ уж получше, чем вставлять вместо email картинку 🙂

Использование

<?php antispambot( $email, $mailto ) ?>

Параметры

$email
(строка) (обязательный параметр) адрес email

$mailto
(целое число) включает более хитрое кодирование. Если указать 1, то вывести email на странице в читаемом виде уже не удастся, зато можно с успехом использовать в ссылках типа <a href=”mailto:
по умолчанию — 0

<a href="mailto:<?php echo antispambot('true@truemisha.ru', 1) ?>">
	<?php echo antispambot('true@truemisha.ru') ?>
</a>

Вот что получится:

Возвращаемые значения

(строка) закодированный email адрес.
Каждый раз возвращает разные значения, так как преобразует случайно выбранные символы из email.

Использование внутри содержимого поста при помощи шорткода

Сначала вставим это в functions.php:

function true_email_shortcode( $atts, $content ){
	return '<a href="mailto:'.antispambot($content, 1).'">'.antispambot($content).'</a>';
}
 
add_shortcode( 'email', 'true_email_shortcode' );

Затем, при написании поста можно использовать этот шорткод:

[email]true@truemisha.ru[/email]

P.S. До этого я никогда не защищал свои email адреса подобным способом, использовал их в обычном виде на сайтах, но спама так и не заметил (возможно это Gmail так хорошо фильтрует, я хз).

P.P.S. Основная причина заспамленности почтового ящика на мой взгляд — это указывать его при регистрации на сомнительных сайтах.

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии