Показать сообщение отдельно

  #3054  
Старый 10.05.2008, 14:57
DEMOGORGON
Новичок
Регистрация: 02.04.2008
Сообщений: 7
С нами: 9529773

Репутация: 0
По умолчанию

Нашёл скрипт для защиты от авторегистрации. Картинку с кодом выводит, а как сделать так, чтобы извлечь сам код не знаю. Может кто подскажет?
PHP код:
<?php

// старт сессии 
session_start();

// заголовок
header("Content-type: image/png; charset=windows-1251;");
 
// создание изображения
$img = imagecreate(120,60);

// генерация цвета фона   
$ren_r = rand(190,255);
$ren_g = rand(190,255);
$ren_b = rand(190,255);   

// настройка цвета фона   
$slfon = ImageColorAllocate($img, $ren_r, $ren_g, $ren_b);


//-------------------------------- ШУМЫ ----------<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 

// начальное значение циклов
$i = 1;

// включение шумов
$ellipse = 1;
$rectang = 1;
$line = 1;
$pix = 1;

/* Шум из элипсов */
if($ellipse) {

$varelp = rand(5,50); 

 while(++
$i <= $varelp)
   {
   

$ren_left = rand(0,150);
$ren_top = rand(0,60);
$ren_x_rad = rand(0,150);
$ren_y_rad = rand(0,60);

// генирация цвета фона   
$ren_elp_r = rand(150,225);
$ren_elp_g = rand(150,225);
$ren_elp_b = rand(150,225);   

// настройка цвета фона   
$elp = ImageColorAllocate($img, $ren_elp_r, $ren_elp_g, $ren_elp_b);

imageellipse ($img, $ren_left, $ren_top, $ren_x_rad, $ren_y_rad, $elp);

} 
}


/* Шум из прямоугольников */
if($rectang) {

$varrect = rand(5,50);  


 while(++
$i <= $varrect)
   {
   

$ren_x1_rect = rand(0,120);
$ren_y1_rect = rand(0,60);
$ren_x2_rect = rand(0,120);
$ren_y2_rect = rand(0,60);

// генирация цвета фона   
$ren_rect_r = rand(150,225);
$ren_rect_g = rand(150,225);
$ren_rect_b = rand(150,225);   

// настройка цвета фона   
$rect = ImageColorAllocate($img, $ren_rect_r, $ren_rect_g, $ren_rect_b);

imagerectangle ($img, $ren_x1_rect, $ren_y1_rect, $ren_x2_rect, $ren_y2_rect, $rect);


}
}



/* Шум из линий */
if($line) {

$varline = rand(0,50); 

 while(++
$i <= $varline)
   {

$line_x1 = rand(0,120);
$line_y1 = rand(0,60);
$line_x2 = rand(0,120);
$line_y2 = rand(0,60);

// генирация цвета линий   
$ren_line_r = rand(0,200);
$ren_line_g = rand(0,200);
$ren_line_b = rand(0,200); 
 
// настройка цвета линий  
$line_c = ImageColorAllocate($img, $ren_line_r, $ren_line_g, $ren_line_b);

// настройка цвета линий
imageline ($img, $line_x1, $line_y1, $line_x2, $line_y2, $line_c);

}
}


/* Шум из пикселей */
if($pix) {

$varpix = rand(10,150);

 while(++
$i <= $varpix)
   {
   
$pix_x = rand(0,120);
$pix_y = rand(0,60);

// генирация цвета линий   
$ren_pix_r = rand(0,255);
$ren_pix_g = rand(0,255);
$ren_pix_b = rand(0,255); 

// настройка цвета линий  
$pix_c = ImageColorAllocate($img, $ren_pix_r, $ren_pix_g, $ren_pix_b);
   
ImageSetPixel($img, $pix_x, $pix_y, $pix_c);

}
}


//-------------------------------- ЦИФРЫ ----------<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

// генерация чисел на изображении
$ren_c1 = rand(0,9);
$ren_c2 = rand(0,9);
$ren_c3 = rand(0,9);
$ren_c4 = rand(0,9);
$ren_c5 = rand(0,9);

// массив из цифр
$code_mass = array($ren_c1,$ren_c2,$ren_c3,$ren_c4,$ren_c5);

// формирование числа
$code = implode("", $code_mass);

// запись числа в сессию                 
$_SESSION['imgcode'] = $code;

// отпуск от левого края, слова
$ren_xp = rand(0,5);

// расстояние между буквами
$ras_bukv = 21;

// случайный размер букв
$ot_fs = 25;
$do_fs = 30;

// случайная положение y слова
$yb_ot = 20;
$yb_do = 60;

// генерация цвета текста 1   
$ren_r_с1 = rand(0,150);
$ren_g_с1 = rand(0,150);
$ren_b_с1 = rand(0,150);

// генерация цвета текста 2   
$ren_r_с2 = rand(0,150);
$ren_g_с2 = rand(0,150);
$ren_b_с2 = rand(0,150);

// генерация цвета текста 3   
$ren_r_с3 = rand(0,150);
$ren_g_с3 = rand(0,150);
$ren_b_с3 = rand(0,150);

// генерация цвета текста 4  
$ren_r_с4 = rand(0,150);
$ren_g_с4 = rand(0,150);
$ren_b_с4 = rand(0,150);

// генерация цвета текста 5   
$ren_r_с5 = rand(0,150);
$ren_g_с5 = rand(0,150);
$ren_b_с5 = rand(0,150);

// настройка цвета текста
$c1 = imagecolorallocate ($img, $ren_r_с1, $ren_g_с1, $ren_b_с1);
$c2 = imagecolorallocate ($img, $ren_r_с2, $ren_g_с2, $ren_b_с2);
$c3 = imagecolorallocate ($img, $ren_r_с3, $ren_g_с3, $ren_b_с3);
$c4 = imagecolorallocate ($img, $ren_r_с4, $ren_g_с4, $ren_b_с4);
$c5 = imagecolorallocate ($img, $ren_r_с5, $ren_g_с5, $ren_b_с5);

// случайный поворот букв
$ren_turn1 = rand(-35,35);
$ren_turn2 = rand(-35,35);
$ren_turn3 = rand(-35,35);
$ren_turn4 = rand(-35,35);
$ren_turn5 = rand(-35,35);

// случайная положение y буквы
$ren_ht1 = rand($yb_ot,$yb_do);
$ren_ht2 = rand($yb_ot,$yb_do);
$ren_ht3 = rand($yb_ot,$yb_do);
$ren_ht4 = rand($yb_ot,$yb_do);
$ren_ht5 = rand($yb_ot,$yb_do);

// случайная положение x буквы
$ren_x1 = rand(0 + $ren_xp,$ras_bukv + $ren_xp);
$ren_x2 = rand($ras_bukv + $ren_xp,$ras_bukv*2 + $ren_xp);
$ren_x3 = rand($ras_bukv*2 + $ren_xp,$ras_bukv*3 + $ren_xp);
$ren_x4 = rand($ras_bukv*3 + $ren_xp,$ras_bukv*4 + $ren_xp);
$ren_x5 = rand($ras_bukv*4 + $ren_xp,$ras_bukv*5 + $ren_xp);

// случайная размер буквы
$ren_fase1 = rand($ot_fs,$do_fs);
$ren_fase2 = rand($ot_fs,$do_fs);
$ren_fase3 = rand($ot_fs,$do_fs);
$ren_fase4 = rand($ot_fs,$do_fs);
$ren_fase5 = rand($ot_fs,$do_fs);

// массив со шрифтами
$fonts = array('ARS','BETINA','BRUSHSCR','BASKR_LI');
$sf = count($fonts);
$sf = $sf - 1;  

// случайный шрифт 1 
$ren_fc1 = rand(0,$sf);
$ren_font1 = $fonts[$ren_fc1] . ".ttf";

// случайный шрифт 2
$ren_fc2 = rand(0,$sf);
$ren_font2 = $fonts[$ren_fc2] . ".ttf";

// случайный шрифт 3
$ren_fc3 = rand(0,$sf);
$ren_font3 = $fonts[$ren_fc3] . ".ttf";

// случайный шрифт 4
$ren_fc4 = rand(0,$sf);
$ren_font4 = $fonts[$ren_fc4] . ".ttf";

// случайный шрифт 5
$ren_fc5 = rand(0,$sf);
$ren_font5 = $fonts[$ren_fc5] . ".ttf";

// настройка цифры 1   
imagettftext ($img, $ren_fase1, $ren_turn1, $ren_x1, $ren_ht1, $c1, $ren_font1, $ren_c1);

// настройка цифры 2    
imagettftext ($img, $ren_fase2, $ren_turn2, $ren_x2, $ren_ht2, $c2, $ren_font2, $ren_c2);

// настройка цифры 3    
imagettftext ($img, $ren_fase3, $ren_turn3, $ren_x3, $ren_ht3, $c3, $ren_font3, $ren_c3);

// настройка цифры 4    
imagettftext ($img, $ren_fase4, $ren_turn4, $ren_x4, $ren_ht4, $c4, $ren_font4, $ren_c4);

// настройка цифры 5   
imagettftext ($img, $ren_fase5, $ren_turn5, $ren_x5, $ren_ht5, $c5, $ren_font5, $ren_c5);



//--------------------------- ВЫВОД ИЗОБРАЖЕНИЯ -----<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   
ImageFill($img, 0, 0, $slfon); 
 
Imagepng($img);

// разрушение изображения
ImageDestroy($img);

?>
 
Ответить с цитированием