Капча з арифметичними операціями

Капча з арифметичними операціями

Відео: Капча

Не так давно мене попросили розповісти, як створити капчу з арифметичними операціями. Оскільки я сам це зустрічаю досить часто на самих різних сайтах, то вирішив виділити для цього окрему статтю. І з цієї статті Ви дізнаєтесь, як створюються капчи з будь-якими арифметичними операціями.

Наводжу код такої капчі:

lt ;?php
session_start
() -// Починаємо сесію
$ number_1
= rand(1,100) -// Генеруємо 1-е випадкове число
$ number_2
= rand(1,100) -// Генеруємо 2-е випадкове число
$ _SESSION
[`Rand_code`]= $ number_1 + $ number_2-// Записуємо їх суму в сесію
$ dir
="Fonts /"-// Директорія з шрифтами
$ image
= imagecreatetruecolor(200,60) -// Створюємо зображення
$ color
= imagecolorallocate($ image,200,100,90) -// Задаємо 1-й колір
$ white
= imagecolorallocate($ image,255,255,255) -// Задаємо 2-й колір
imagefilledrectangle
($ image,0,0,399,99, $ white) -// Робимо капчу з білим фоном
imagettftext
($ image,30,0,10,40, $ color, $ dir."Verdana.ttf","$ Number_1 + $ number_2") -// Пишемо текст
header
("Content-type: image / png") -// Відсилаємо заголовок про те, що це зображення png
imagepng
($ image) -// Виводимо зображення
?gt;



Код добре прокоментований, тому що-небудь додавати не буду, але скажу, що абсолютно також створюються будь-які інші капчи з арифметичними операціями. Ніхто не заважає поставити, наприклад, знак множення замість знака плюса. Також ніхто не заважає згенерувати ще числа і створювати вже цілі вирази. Головне, результат записувати в сесію, щоб потім можна було перевірити правильність введення користувачем.




Виводиться капча елементарно:

src="Captcha.php"alt=""/ Gt;

Перевірка капчи теж не набагато складніше:

Відео: 40 Практика Капчі. Курс 1 Zennoposter від Rostonix

lt ;?php
session_start
() -// Починаємо сесію
$ captcha
= $ _POST["Captcha"] -// Відповідь, який ввів користувач
/ * Перевіряємо правильність введення капчі (не забувайте перевіряти на "порожнє значення", це дуже важливо!) * /
if(($ capctha == $ _SESSION["Rand_code"])($ captcha !="")) echo "Капча введена правильно"-
else echo "Капча введена неправильно"-
?gt;

Не думаю, що у людини, яка знайома хоч трохи з PHP, виникнуть хоч якісь труднощі з розумінням створення капчі з арифметичними операціями.

Поділися в соціальних мережах:

Схожі
Як зробити тестування на сайтіЯк зробити тестування на сайті
Вивчаємо sass. Функції.Вивчаємо sass. Функції.
Створення графіків на phpСтворення графіків на php
Випадкове число в excel.Випадкове число в excel.
Масштабування зображень в phpМасштабування зображень в php
Обрізка зображень в phpОбрізка зображень в php
Малювання тексту в phpМалювання тексту в php
Випадкова вибірка з бази данихВипадкова вибірка з бази даних
Що нового в php7.1: генерація випадкових чисел.Що нового в php7.1: генерація випадкових чисел.
Створюємо сокращатель url. Частина 3.Створюємо сокращатель url. Частина 3.
» » Капча з арифметичними операціями