Skip to content


Внедряем Captcha в CuteNews

captcha exampleЗащита от спама сейчас – просто необходимый элемент любого сайта, где присутствует возможность заполнения каки-либо форм (будь то форма для обратной связи с автором, либо форма добавления ссылки в каталог ссылок или еще что-то подобное). Одним из наиболее эффективных способов противодействия появлению спама на веб-страницах является CAPTCHA (расшифровывается как Completely Automated Public Turing test to tell Computers and Humans Apart) т.е. одна из разновидностей теста Тьюринга. Пример такого теста в достаточно жеcтком для пользователя варианте :) приведен на картинке слева.

Порядок установки CAPTCHA в новостной скрипт CuteNews.

  1. Добавляем в файл site/data/Default.tpl в код формы ввода комментария (примерно 62-ая строка):
    Текст на картинке: <input type=’text’ name=’captcha’ /> <img src=’captcha.php’ alt=’picture with code’ /><br />
  2. Положить в корень сайта файлы captcha.php и Comic_Sans_MS.ttf. Взять их можно тут.
  3. Поправить файл 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"]);
  4. Поудалять из файла 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 для комментариев на эту заметку.

Some HTML is OK

(required)

(required, but never shared)

, или ответить через trackback.