 Защита от спама сейчас - просто необходимый элемент любого сайта, где присутствует возможность заполнения каки-либо форм (будь то форма для обратной связи с автором, либо форма добавления ссылки в каталог ссылок или еще что-то подобное). Одним из наиболее эффективных способов противодействия появлению спама на веб-страницах является CAPTCHA (расшифровывается как Completely Automated Public Turing test to tell Computers and Humans Apart) т.е. одна из разновидностей . Пример такого теста в достаточно жеcтком для пользователя варианте :) приведен на картинке слева.
Защита от спама сейчас - просто необходимый элемент любого сайта, где присутствует возможность заполнения каки-либо форм (будь то форма для обратной связи с автором, либо форма добавления ссылки в каталог ссылок или еще что-то подобное). Одним из наиболее эффективных способов противодействия появлению спама на веб-страницах является CAPTCHA (расшифровывается как Completely Automated Public Turing test to tell Computers and Humans Apart) т.е. одна из разновидностей . Пример такого теста в достаточно жеcтком для пользователя варианте :) приведен на картинке слева.
Порядок установки CAPTCHA в новостной скрипт CuteNews.
- Добавляем в файл data/Default.tpl в код формы ввода комментария $template_form (примерно 62-ая строка):
data/Default.tpl Текст на картинке: 
 Полная версия кода формы у меня получилась такая: $template_form = <<<HTML <table border="0" width="500" cellspacing="0" cellpadding="2" style="margin-bottom: 20px"> <thead style="background: rgb(239,244,11); text-align: center"> <tr><td colspan="2"><span style="font-size: 12pt">Оставить комментарий</span></td></tr> </thead> <tr><td height="5" colspan="2"></td></tr> <tr><td width="20%">Имя:</td><td><input type="text" name="name" tabindex="1"></td></tr> <tr><td>E-mail:</td><td><input type="text" name="mail" tabindex="2"></td></tr> <tr><td colspan="2"> <textarea style="width: 100%" rows="8" name="comments" tabindex="3"></textarea><br /></td></tr> <tr><td colspan="2"><div style="margin-top: 10px; float: left">Введите цифры с картинки: <input tabindex="4" type="text" name="captcha" size="10" /></div> <img src="captcha.php" alt="picture with code" valign="middle" /></td></tr> <tr><td colspan="2" align="center"><input tabindex="5" type="submit" name="submit" value="Добавить комментарий" accesskey="s"></td></tr></table> HTML; 
- Положить в корень сайта файлы captcha.php и Comic_Sans_MS.ttf. Взять их можно .
- Поправить файл inc/shows.inc.php, добавив в него начиная примерно со 172-ой строки следующее:
inc/shows.inc.php @session_start(); if (! (isset($_SESSION["captcha"]) && $_SESSION["captcha"]===$_POST["captcha"]) ) { echo ""; $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), естественно, следует заменить так, чтобы он был актуален для Вашей системы.
 
		
Все сделал как тут написано, работает. но есть косяк. вот что пишет после нажатия кнопки Добавить.
Warning: fopen(/home/matri177/domains/progressdk.ru/public_html/index_news/data/flood.db.php) [function.fopen]: failed to open stream: Permission denied in /home/matri177/domains/progressdk.ru/public_html/index_news/inc/functions.inc.php on line 334
Warning: fclose(): supplied argument is not a valid stream resource in /home/matri177/domains/progressdk.ru/public_html/index_news/inc/functions.inc.php on line 345
Warning: fopen(/home/matri177/domains/progressdk.ru/public_html/index_news/data/ipban.db.php) [function.fopen]: failed to open stream: Permission denied in /home/matri177/domains/progressdk.ru/public_html/index_news/inc/shows.inc.php on line 145
Warning: fwrite(): supplied argument is not a valid stream resource in /home/matri177/domains/progressdk.ru/public_html/index_news/inc/shows.inc.php on line 167
Значит в functions.inc.php в строке 334 идет попытка обращения к какому-то ресурсу, доступ к которому для скрипта ограничен. Более подробно сказать не могу, так как доступа к Вашему хостингу не имею - надо смотреть код.
Огромное вам спасибо! Все сделал, все работает!
Спасибо большое, очень выручили)
День добрый! А можно хотя бы пример самого файла shows.inc.php. Понятно что вроде все разжевано, но как то не клеится... СПасибо
Можно, вот: http://avz.org.ua/wp/wp-content/uploads/2011/02/shows_inc_php.txt
не отображается картинка капи(