В последнее время в сети очень много роботов, которые постоянно отправляют спам на незащищенных формах. Поэтому, чтобы остудить их пыл можно поставить php капчу в виде генерируемой картинки на лету.
Сделать это мы сможем с помощью imagepng() и сессии, которая будет запоминать и проверять введенный ответ с правильным. Если пользователь введет правильный ответ, то форма выполнит действие. Данная капча учитывает регистр ввода символов (прописные буквы).
Для создания такой капчи нам понадобится всего файла:
- index.php - содержит php проверку и форму с подгрузкой картинки-капчи;
- captcha.php - создает на лету новую картинку капчи
Если вы посмотрите первый файл, то увидите код сверки введенной капчи с той, что запомнена в картинке при ее построении. В зависимости от типа ответа можно делать дальнейшие действия, например, заблокировать пользователя или открыть ему доступ к сайту, отправки формы.
Во втором файле строится картинка капчи, которая каждый раз запоминается в сессии, с которой мы и сверяем ответ пользователя. В этом файле вы можете найти пару настроек:
$sdvig - изначальный сдвиг каждого символа по Х оси
$b - число символов в капче
verdana.ttf - шрифт, в котором будут строиться буквы капчи. Обязательно установите его в одной директории с файлом captcha.php. Кстати, никто не мешает вам поставить свой кириллический шрифт посложнее.
Данную капчу я постарался сделать максимально компактной (всего 2 файла не считая шрифт) и достаточно эффективной. Так, что используйте ее на здоровье, и пускай спам боты вас не беспокоят!
Добавить комментарий