Уважаемые читатели сайта Ajaxs.ru

Очень рад что вы зашли на мой сайт. Надеюсь, Вы сможете найти здесь для себя полезную информацию. Зарегистрировавшись на сайте вы получаете ряд преимуществ:
1. При комментировании Вам не нужно вводить имя и капчу с картинки
2. Вы можете получать уведомления на Email к интерисующим вас урокам
3. Вы можете редактировать свои комментарии

Вход на сайт


Забыли пароль



Восстановление пароля


Войти на сайт

Зарегистрироваться

Главная / Уроки по PHP / Просмотр урока

     

Создание сайтов


Вам нужен небольшой сайт или просто хотите доработать уже существующий? | Подробнее

Скрипт для создания капчи на сайте

Наверное, многие из владельцев сайтов, на которых есть возможность оставлять комментарии сталкивались с тем, что кто то так и норовит оставить спам или ссылку на какой-нибудь сайт. Очень часто это делают специальные роботы или боты. Самым простым и удобным решением в данной ситуации является использование капчи (CAPTCHA). Как правило, она представляет из себя набор букв и цифр, изображенных на картинке в искаженном виде, которые нужно ввести в определенное поле, тем самым подтвердив, что вы человек. Большинство ботов не способны распознавать данные символы, что позволяет резко уменьшить количество спама.

Пример
В интернете существует масса различных скриптов для создания капчи. В этом уроке мы рассмотрим скрипт Cryptographp v1.4. Для этого нужно скачать исходные файлы на сайт в папку, например captcha. Теперь на той странице, где мы хотим ее видеть ее, вставляем следующий код:

<?php
$cryptinstall="captcha/cryptographp.fct.php";
include $cryptinstall;
?>
<form action="verifier.php?<?php echo SID; ?>" method="post">
<?php dsp_crypt(0,1); ?>
Введите код:<br><input type="text" name="code"><br>
<input
type="submit" name="submit" value="Проверить">
</form>

В переменной $cryptinstall прописывается путь до файла cryptographp.fct.php. Поскольку этот файл работает на сессиях, то подключать его надо в самом начале страницы до начала, какого либо html кода. Обновив страницу с этим кодом, мы должны увидеть картинку с капчей, которую можно обновлять без перезагрузки страницы. Теперь на стороне обработчика (в нашем случае это verifier.php), обрабатывающего комментарии вставляем код:

<?php
$cryptinstall="captcha/cryptographp.fct.php";
include $cryptinstall;
  if (chk_crypt($_POST['code'])){
     echo "<a><font color='#009700'>=> Код введен правильно!</font></a>";
  }
  else {
     echo "<a><font color='#FF0000'>=> Ошибка! Неправильный код</font></a>";
  }
?>

Вместо текста «Код введен правильно!» вы подставляете свои действия по добавлению комментариев в базу, ну и вместо ошибки также можно подставить, что то свое. По идее скрипт уже должен начать работать и проверять правильность введенных символов.
Теперь немного поговорим, как данный скрипт можно настроить под себя. Для этого откроем файл cryptographp.cfg.php, в котором содержатся основные настройки.  Переменные $cryptwidth и $cryptheight содержат значение ширины и высоты создаваемого изображения соответственно. В переменной $bgimg можно указать путь до фонового изображения капчи, если ничего не указывать, то будет фон белый или серый в соответствии от значений $bgR, $bgG и $bgB. Чуть ниже есть переменные $tfont[], которые содержат различные шрифты. Убрав комментарии со  строк, вы можете выбрать тот шрифт подходящий вам. $charnbmin и $charnbmax содержат минимальное и максимальное число символов на картинке (меняя эти параметры, не забывайте про длину создаваемого изображения, что бы все символы влезали). В $charspace хранится значение интервала между символами в пикселях. Переменные $charsizemin и $charsizemax это минимальный и максимальный размер символов.  Изменяя $charanglemax можно разворачивать символы на угол до 360 градусов. Переменная $cryptformat хранит формат создаваемого изображения (png, gif или jpg).

Если создаваемая картинка не подходит под ваш дизайн, вы можете скачать с сайта разработчика http://www.captcha.fr/index.php?page=4&langue=en файл cryptographp.cfg.php и заменить существующий.

Автор: Евгений Бочкарев Урок добавлен: 13 Декабря 2010 в 20:41 Просмотров: 27877

Условия копирования материалов сайта

Все комментарии

Посмотреть предыдущие комментарии (31)

#32 Nastia 02-12-2012 в 23:38
А не всё пошло, засунула картинку куда только можно и всё само разрешилось.А за капчу спасибо, долго в нете искала)
#33 Андрей Айдар 25-01-2013 в 17:52
Вот ещё пример реализации капчи можете посмотреть
http://aydar.pp.ua/view_post.php?id=15
#34 Роман 27-02-2013 в 23:19
Здравствуйте ! слова-Введите код, поле ввода и кнопка отправить есть,картинок с буквами нет? Что делать не пойму. Подскажите пожалуйста,
#35 Дмитрий 10-03-2013 в 19:44
Спс отличная капча и сайт)
#36 Alex 17-03-2013 в 23:06
И запомните сайт который вы сделаете сами это в любом случае лучше чем использовать CMS. Очень правильная мысль!!!
#37 Alex 17-03-2013 в 23:12
В демо капча работает неправильно...., при нажатии кнопки назад, а потом не вводя код, снова нажать на проверить, получается положительный результат! В чём причина? В работе с сессиями?
#38 Юрий 18-03-2013 в 12:41
Для тех у кого нет картинки самой капчи не стоит на сревере расширение для php - GD Graphics Library. Библиотека нужна для динамической работы с изображениями.
#39 Влад 01-11-2013 в 01:37
В исходниках ошибка

<form action="verifier.php?<?php echo SID; ?>" method="post">


echo SID;

вставлен в аттр. action
#40 Сергей 24-12-2013 в 20:19
Помогите сделать каптчу.
Буду благодарен вам
пишите сюда vipsergey1997@mail.ru
#41 ВИКА 13-03-2014 в 22:44
http://dfiles.ru/files/yiyur2l5s простая капча
Добавить новый комментарий

Автор:

Текст сообщения:

Если в комментарии присутствует код, пожалуйста вставляете его между тегами [code][/code]

cap

Код с картинки:


Получать уведомления о новых комментариях по Email могут только зарегистрированные пользователи.

41001346159934
R314489888859
Уроки
Для начинающих
Интересное
Файлы
Полезное
Опрос

Много ли среди программистов девушек?

Последние комментарии
Ссылки