*   >> Чтение Образование Статьи >> tech >> web development

Защитный код - Простейший способ сделать it

<р> Большая проблема сегодня является спамом. Лучший способ борьбы со спамом является Защитный код. Защитный код делает разницу между компьютером и человеком. Компьютеры не могут читать текст в картине, и именно поэтому мы будем использовать фото тоже.

<Р> Давайте начнем с создания файла captcha.php. Этот файл будет создан фотографию с текстом, написанным на нем

<р> заголовок ('Content-Type: изображение /JPEG.

'); //JPEG изображение будет выводиться $ ширина = 60; //Ширина изображения $ высоты = 24; //Высота картинной $ my_image = imagecreatetruecolor ($ ширина, высота) $; //Создание полноцветных изображений imagefill ($ my_image, 0, 0, 0xffffff); //Белый фон

<р> До сих пор нам удалось создать образ, который имеет белый фон, 60 пикселей в ширину и 24 пикселей в высоту.

Давайте добавим несколько исказил:

<р> для ($ C = 0; $ C $ х = рандов (0, $ ширина-1); $ у = рандов (0, $ высота-1); imagesetpixel ($ my_image , $ х, $ у, 0x000000);}

<р> Мы вставляется 40 черные пиксели в изображении Эти пиксели будут иметь различные coordonates каждый раз картина загружается

<р> Давайте напишем текст на.. картина:..


<р> $ х = рандов (1,10); //Х coordonate в верхнем левом углу $ у = рандов (1,10); //Y coordonate в верхнем левом углу $ rand_string = рандов (10000,99999); //Получаем число между 10000 и 99999 imagestring ($ my_image, 5, $ х, $ у, $ rand_string, 0x000000); //Записываем число, полученное ранее на картинке

<р> Давайте сохраним строку, написанное на изображения в печенье. Мы будет читать этот печенье раз в формы, представленный для сравнения данных.


<р> SetCookie ("куки-CAPTCHA на" (MD5 ($ rand_string)) , время () + 3600, "/"); imagejpeg ($ my_image); //Создание изображений JPEG ImageDestroy ($ my_image); //Удалить изображений JPEG

<р> В этом примере имя куки является печенья -captcha, его содержание будет MD5 кодируется значение случайной строки, полученной ранее (число написано на картинке), то это будет действителен в течение часа на всех ваших доменов.

<р> Картина будет удален (ImageDestroy ), чтобы сохранить пространство на сервере

<р> Полный файл captcha.

php будет:

<р> заголовок ("Content-Type: изображение /JPEG.); $ ширина = 60; $ высота = 24; $ my_image = imagecreatetruecolor ($ ширина, $ высота); imagefill ($ my_image, 0, 0, 0xFFFFFF); для ($ C = 0; $ C $ х = рандов (0, $ ширина-1); $ у = рандов (0, $ высота-1); imagesetpixel ($ my_image, $ х, $ у, 0x000000);} $ х = рандов (1,10); $ у = рандов (1,10); $ rand_string = рандов (10000,99999); imagestring ($ my_image, 5, $ х, $ у, $ rand_string, 0x000000); SetCookie ("куки-CAPTCHA на" (MD5 ($ rand_string)), время () + 3600, "/"); imagejpeg ($ my_image); ImageDestroy ($ my_image);?>

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Чтение Образование Статьи,https://ru.nmjjxx.com All rights reserved.