Пользователь

Добро пожаловать,

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

Меню сайта




Ваше мнение
Как вы узнали о нашем сайте?

От друга, знакомого
Из печатных источников
Из поисковой машины
По ссылке с другого сайта
Случайно
Не знаю


Результаты
Другие опросы

Всего голосов: 1031
Комментарии: 4


Наши партнеры



Статистика




Programming books  Download software  Documentation  Scripts  Content Managment Systems(CMS)  Templates  Icon Sets  Articles  Contacts  Voting  Site Search




Статьи и обзоры



Генерация изображения со случайным кодом (captcha)

Речь пойдет о новой версии самого популярного в настоящее время языка написания сценариев для сервера - РНР 5. Этот язык позволяет разрабатывать высокопроизводительные Web-сайты любого масштаба и любой категории сложности. Рассматриваются такие вопросы, как синтаксические конструкции языка, объектно-ориентированное программирование на РНР, работа с базами данных и графическими изображениями, а также построение WAP-содержимого. Большое внимание уделяется эффективным решениям типовых практических задач на PHP, среди которых аутентификация посетителей, шифрование данных, использование сеансов, обработка ошибок, работа с электронной почтой. Чаще всего изображения со случайным кодом (так называемая captcha) используются для защиты от флуда (автоматизированного ввода сообщений), некоторые сервисы находят им применнение в качестве раздражителя (для перехода на платный вариант).

В общем, может пригодиться. PHP код следующий:
PHP - Код
$width 100;                //Ширина изображения
$height 60;                //Высота изображения
$font_size 16;               //Размер шрифта
$let_amount 4;            //Количество символов, которые нужно набрать
$fon_let_amount 30;        //Количество символов на фоне
$font "fonts/cour.ttf";    //Путь к шрифту
 
//набор символов
$letters = array("a","b","c","d","e","f","g");        
//цвета
$colors = array("90","110","130","150","170","190","210");    
 
$src imagecreatetruecolor($width,$height);    //создаем изображение                
$fon imagecolorallocate($src,255,255,255);    //создаем фон
imagefill($src,0,0,$fon);                        //заливаем изображение фоном
 
for($i=0;$i $fon_let_amount;$i++)            //добавляем на фон буковки
{
    
//случайный цвет
       
$color imagecolorallocatealpha($src,rand(0,255),rand(0,255),rand(0,255),100);    
       
//случайный символ
       
$letter $letters[rand(0,sizeof($letters)-1)];    
    
//случайный размер                                
       
$size rand($font_size-2,$font_size+2);                                            
       
imagettftext($src,$size,rand(0,45),
           
rand($width*0.1,$width-$width*0.1),
        
rand($height*0.2,$height),$color,$font,$letter);
}
 
for(
$i=0;$i $let_amount;$i++)        //то же самое для основных букв
{
   
$color imagecolorallocatealpha($src,$colors[rand(0,sizeof($colors)-1)],
           
$colors[rand(0,sizeof($colors)-1)],
           
$colors[rand(0,sizeof($colors)-1)],rand(20,40)); 
   
$letter $letters[rand(0,sizeof($letters)-1)];
   
$size rand($font_size*2-2,$font_size*2+2);
   
$x = ($i+1)*$font_size rand(1,5);        //даем каждому символу случайное смещение
   
$y = (($height*2)/3) + rand(0,5);                            
   
$cod[] = $letter;                           //запоминаем код
   
imagettftext($src,$size,rand(0,15),$x,$y,$color,$font,$letter);
}
 
$cod implode("",$cod);                    //переводим код в строку
 
header ("Content-type: image/gif");         //выводим готовую картинку
imagegif($src);


Это максимально упрощенный вариант с использованием только одного шрифта и небольшого количества символов и цветов, хотя и этого бывает достаточно, чтобы оградиться от незатейливых спамеров и флудеров.

Через HTML такое изображение вызывается стандартно:
Код
<img src="sec_pic.php" alt="защитный код">


Скачать скрипт генерации защитного кода с полным набором символов и возможностью подключения своих шрифтов можно здесь [url=/uploads/files/public/secpic.rar]secpic.zip[/url]



Нет комментариев. Почему бы Вам не оставить свой?
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.
Внимание! Если у вас не получилось найти нужную информацию, используйте рубрикатор или воспользуйтесь поиском


.



Статьи и обзоры PHP Генерация изображения со случайным кодом captcha Чаще всего изображения со случайным кодом так называемая captcha используются для защиты от флуда автоматизированного ввода сообщений некоторые сервисы находят им применнение качестве раздражителя перехода на платный вариант общем может пригодиться код следующий Код & nbsp =& &