Скрипт на обновление капчи в ghtweb5. Что такое капча? Как ввести или убрать капчу

Скрипт на обновление капчи в ghtweb5. Что такое капча? Как ввести или убрать капчу

25.04.2019

Сегодня мы поговорим о создании скрипта генерации случайной комбинации цифр на картинке, средствами php. Или, как принято сейчас говорить каптча (captcha). Для написания каптчи на php, нам понадобиться создать всего лишь один файл, что очень просто и удобно при его дальнейшем использовании.

Что такое CAPTCHA ?

CAPTCHA (от англ. completely automated public Turing test to tell computers and humans apart - полностью автоматизированный публичный тест Тьюринга для различия компьютеров и людей). Человеческим языком, каптча это тест, который определяет, является ли пользователь роботом или человеком. Достигается это, как правило, с помощью картинки с искаженными символами, которые способен прочитать только человек.


Принцип работы каптчи на PHP

Решения реализации captchaна php могут быть разными. Я организовал это с помощью сессий ($_SESSION). При выводе картинки (каптчи) генерируется код, который записывается в сессии, а при проверке сравнивается соответствие кода с картинки и предварительно записанного в сессию. На мой взгляд, это просто и удобно, если вы не согласны, подскажите как лучше, в комментариях к статье.

А теперь рассмотрим практическую сторону.

Шаг 1 – Создание файла каптчи: captcha . php

Ниже предоставлен код этого файла:

session _ start (); - запускаем сессию в PHP.

header("Content-type: image/gif"); - нашакартинка (каптча) будетв GIF формате.

$ code = rand (100, 999); - Генерируем случайный трехзначный цифровой код. Как вариант можно и буквенный, это уже тонкости вашего желания.

$color1 = rand (10, 200); $color2 = rand (10, 200); $color3 = rand (10, 200); - Генерациякодацвета цифр (1 – R, 2 – G, 3 – B). Почему диапазон 10-200, а не 0-255? Что-бы не было черных и белых цветов. Хотя, все зависит от вашего мастерства, можете реализовать разные цвета для каждого символа.

$_ SESSION [" code "] = $ code ; - Записываем сгенерированный код в переменную сессии.

$ rgb =0 xffffff ; - Цвет заливки фона изображения (каптчи).

$ txt _ box = imagettfbbox (18, 0, " lib / font . ttf ", $ code ); - создаем текстовый слой в котором код нашей каптчи. Как видите, подключаем шрифт (font.ttf) из папки lib, 18 – это размер шрифта, 0 – это угол поворота текста (мы поворачивать не будем), $code – это текст каптчи. Этот слой создается для того, что-бы вычислить в дальнейшем вычислить в пикселях размеры текстового блока.

if($txt_box

© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows