Защита e-mail на сайте от спамеров
Очень часто на сайте приходится публиковать свой e-mail адрес. Однако, после этого автоматические сборщики e-mail адресов для будущих спам-баз гарантированно Ваш e-mail так же прихватят. Чтобы им это не удалось, люди стали пытаться сделать так, чтобы пользователи сайта видели e-mail, а роботы нет. Самый простой пример - поставить кнопку "Показать e-mail" и после её нажатия подгружать его с сервера. Способ отличный, но придётся немного помучаться с реализацией. В этой же статье я покажу более простой способ защитить свой e-mail на сайте от спамеров.
Главный смысл вывести e-mail в виде ASCII-символов. Таким образом, сейчас задача написать PHP-функцию, которая преобразует строку в набор этих символов:
<?php
function protect($email) {
$result = "";
for ($i = 0; $i < strlen($email); $i++) $result .= "&#".ord(substr($email, $i, 1)).";";
return $result;
}
echo protect("[email protected]"); // В нужном месте преобразуем и выводим e-mail
?>
Запустите скрипт и посмотрите на результат. Вы на странице увидите "[email protected]", однако, если Вы откроете исходный код, то увидите следующее: "a@bc.ru". Именно это и увидят абсолютно все роботы. С подобным обычные сборщики e-mail адресов не справятся. А если начнут писать функции, которые будут преобразовывать ещё и все ASCII-символы обратно, то такой сборщик будет очень медленный. Отсюда вывод, что подобная защита e-mail на сайте от спамеров весьма эффективна.
-
- Михаил Русаков
Комментарии (3):
Класс! То, что нужно, а то спам последнее время очень часто приходит. Парсер теперь не сможет украсть почту с сайта. Спасибо, Михаил!
Ответить
Тем, чей адрес уже в спам-базе, это конечно не поможет, но само по себе это полезная находка, о чём я сам почему-то не подумал. Спасибо!
Ответить
Михаил,можешь ли ты сделать такой мануал,или что-то в этом роде(например платный видеоурок),как написать свой php мониторинг игровых серверов.Очень хочется узнать что это такое и с чем его едят.
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.