| Защита e-mail'ов пользователей от спамеров |
|
|
|
|
Как известно, основной проблемой интернета являются popup окна и спамеры. Если первую проблему можно решить, просто настроив пару фильтров почти в любом браузере, то вторая проблема – спамеры, куда более серьезна и требует к себе большего внимания. Что бы понять, как бороться со спамом, нужно сначала определить, откуда же берутся адреса для e-mail рассылок спама. Часть адресов спамерам продают недобросовестные администраторы крупных сайтов и компаний, еще часть берется с досок бесплатных объявлений, и основная часть e-mail'ов вычленяется из форумов и информационных порталов. Основной причиной, из-за которой с форумов и веб-сайтов "берутся" почтовые адреса – халатность администраторов и безрассудность пользователей, смело оставляющих свой e-mail везде, где попало. С пользователями все понятно, на то они и пользователи, что бы доставлять хлопоты и создавать проблемы администратору. А вот некоторым администраторам сайтов и форумов следовало бы позаботиться о своих посетителях, и самим, своими силами защищать их почтовые адреса. Существует несколько способов защиты адреса электронной почты:
Рассмотрим первый случай – замена адреса его эквивалентом в ASCI. Вот php-функция замены: function nospam($email)
{ $nospammail=""; $getval = strval($email); for ($i = 0; $i < strlen($email); $i++) { $asciicode = ord($getval[$i]); $nospammail .= "&#$asciicode;"; } return $nospammail; } Здесь все просто, символы e-mail'а по очереди конвертируются в их ASCI представления, в результате получается нечитаемый адрес для большинства спам-ботов, однако в большинстве интернет браузеров данный адрес отображается нормально. Второй, третий и четвертый пункты – готовые решения, несложно найти в Яндексе или Google. Пятый способ защиты электронного адреса с помощью PHP-функции тоже очень прост в реализации: function nospam($email)
{ $spam = array("@", "."); $nospam = array("[собака]", "[точка]"); // с таким же успехом сюда можно добавить тег <img> return str_replace($spam, $nospam, $email); } Ну и, наконец, шестой – самый сложный с точки зрения осуществления вариант защиты, т.к. практически невозможно угадать, какой длинны e-mail у вашего пользователя: /* обратите внимание!! данная функция не возвращает изображения */
/* она его сразу выводит в браузер, но можно сохранить */ /* данное изображение добавив к функции imagepng ($im, имя_файла); */ function nospam($email) { header ("Content-type: image/png"); // заголовок о том что этот файл - изображение $im = @imagecreate (200, 20) // создание пустого изображения or die ("Cannot Initialize new GD image stream"); // если не получилось, сообщаем об этом и выходим $background_color = imagecolorallocate ($im, 250, 250, 250); // светло-серый фон изображения $rand_color = imagecolorallocate ($im, rand(50, 150), rand(50, 150), rand(50, 150)); // случайный цвет текста imagestring($im, 3, 3, 3, " Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра. ", $rand_color); // выводим е-mail imagepng ($im); // отправляем изображение в браузер } Вот и все, что я хотел бы рассказать вам в этой статье. И на последок, хотелось бы добавить, что желательно использовать сразу несколько способов защиты электронных адресов или ее вариантов, чередуя их в случайном порядке – это еще больше осложнит жизнь спамерам, которые так и норовят, осложнит получение почты нам – простым владельцам e-mail'ов. Автор: Беляев Александр По материалам сайта: http://wm-help.net
|



