Як встановити каптчу на сайт

Отже як ви розумієте каптча повинна прикручувати до будь-якій формі, щоб її і захищати, для цього ми будемо використовувати звичайну форму з трьома полями:

Як встановити каптчу на сайт

Отже давайте зробимо першу сторінку на якій у нас буде розміщена сама форма він у нас буде називатися index.php, а ось власне і код:

Запускаємо сесії (важливо, якщо ви будете вставляти код в іншу сторінку ця строчка повинна бути першою інакше нічого не вийде)

Генеруємо ключ, далі передаємо його в прихованому полі

Тут у нас стандартна шапка з кодуванням, заголовком ну і стиль ... складного ні чого немає.

Тут у нас сама форма, файл обробник для цієї форми cont.php, в ньому знаходиться сама функція mail () тобто відправка пошти, далі ми маємо 3 заповнюються поля розміру 30 (size = "30"), і відповідно 3 змінних які ми будемо передавати, а саме name, email, messages. Ну а нижче ми маємо саму катпчу яка власне вставляється як картинка, але замість файлу картинки ми вказуємо php з кодом самої каптчі. Ну і останнє сама кнопка відправки ...

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

Знову таки запускаємо сесію

Створюємо зображення з 5 можливих підкладок формату jpg

Тепер ми генеруємо колір цифр які будуть у нас на зображенні

ImageTtfText ($ im, 23, mt_rand (-5,5), 3, 30, $ color, "addict.ttf", $ _SESSION [ 'uid']);

Тепер за допомогою функції ImageTtfText () дуже цікава функція про яку я розповім детальніше і так Перше це у нас файл підкладки $ im, далі йде розмір в нашому випадку 23, тепер ми виставляємо кути нахилу у нас це від 5 до -5 градусів, потім задаємо відступи по х, у, далі колір який у нас згенерований в змінній $ color, їдемо далі тут ми довантажувати шрифт, який лежить в тій же папці що і наша каптча, ну і на останок текст напису який у нас був згенерований на головній сторінці .

Тут ми вказуємо тип змісту

Створюємо і виводимо зображення

Руйнуємо зображення і закриваємо код ...

Ось власне і все з файлом image.php закінчили, залишилося нам прив'язати перевірку каптчі до самої основної функції mail (), тут власне ні чого складного досить додати наступні рядки в файл cont.php або той файл в якому у вас знаходиться функція mail () :

if ($ _ SESSION [ 'uid'] == $ _POST [ 'sid'])<
// Тут буде знаходиться сама функція і все те що буде у вас там є в тому числі будь-які перевірки ...
>
else

Помилка. Код підтвердження введено невірно

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

Загалом це далеко не найскладніша каптча яку можна встановити на своєму сайті, але досить ефективна тому я її і привів і як мені здається зрозуміти її нескладно.

Сподіваюся з цього уроку ви зрозуміли як встановити каптчу на сайт і проблем у вас не виникло, ну а якщо що пишіть буду радий допомогти.