Защита от спама сейчас – просто необходимый элемент любого сайта, где присутствует возможность заполнения каки-либо форм (будь то форма для обратной связи с автором, либо форма добавления ссылки в каталог ссылок или еще что-то подобное). Одним из наиболее эффективных способов противодействия появлению спама на веб-страницах является CAPTCHA (расшифровывается как Completely Automated Public Turing test to tell Computers and Humans Apart) т.е. одна из разновидностей теста Тьюринга. Пример такого теста в достаточно жеcтком для пользователя варианте :) приведен на картинке слева.
Порядок установки CAPTCHA в новостной скрипт CuteNews.
- Добавляем в файл site/data/Default.tpl в код формы ввода комментария (примерно 62-ая строка):
Текст на картинке: <input type=’text’ name=’captcha’ /> <img src=’captcha.php’ alt=’picture with code’ /><br />
- Положить в корень сайта файлы captcha.php и Comic_Sans_MS.ttf. Взять их можно тут.
- Поправить файл site/inc/shows.inc.php, добавив в него начиная примерно со 172-ой строки следующее:
@session_start();
if (! (isset($_SESSION["captcha"]) && $_SESSION["captcha"]===$_POST["captcha"]) ) {
echo "<div align=\"center\" style=\"font-size: 16px; color: red\">Текст с картинки введен НЕВЕРНО<br/><br/><a href=\"javascript:history.go(-1)\">Вернуться назад</a></div>";
$CN_HALT = TRUE;
break 1;
}
unset($_SESSION["captcha"]); - Поудалять из файла site/data/comments.txt спам-комментарии, которые попали туда до того, как была прикручена captcha :)
Чтобы эта версия captcha работала, PHP должен быть сконфигурирован со следующими опциями (актуально для версии 5.3.0):
−−with-gd=/usr
−−enable-gd-native-ttf
−−with-freetype-dir=/usr
−−with-zlib
−−with-zlib-dir=/usr
Путь к библиотекам (/usr), естественно, следует заменить так, чтобы он был актуален для Вашей системы.
Возможно, Вам будет интересна еще и эта заметка:
Как найти flash-video в кеше броузера Opera.
Комментариев: 0
Чтобы быть всегда в курсе здесь происходящего, Вы можете подписаться на RSS feed для комментариев на эту заметку.