Вход Регистрация
Файл: captcha.php
Строк: 97
<?php
# Captcha v1.0 by Wapweb #
require_once ('inc/db.php');
// Соединение с базой
$dbcnx = mysql_connect($db_host,$db_user,$db_pass);
if (!
$dbcnx) {exit ("Сервер базы данных не доступен");}
if (!
mysql_select_db($db_name , $dbcnx)){exit ("База данных не доступна");}
mysql_query('SET NAMES "utf8"');
$CAPTCHA = mysql_fetch_array(mysql_query("SELECT `set` FROM `modules` WHERE `name` = 'captcha' LIMIT 1"));
$CAPTCHA_SET = unserialize($CAPTCHA['set']);
//Настройки по умолчанию
$width = 180;
$heigh = 90;
$letters = range('0','9');
$font_size = 10;
/////////////////////////////////
$width = $CAPTCHA_SET['width'];
$height = $CAPTCHA_SET['height'];
$font_size = $CAPTCHA_SET['size'];
$sign = rand(3,6);
$code = '';
ob_start();
session_start();
error_reporting(E_ALL & ~E_NOTICE);
if (
$CAPTCHA_SET['type'] == 0) {
    
$letters = range('0','9');
}elseif (
$CAPTCHA_SET['type'] == 1) {
    
$letters = range('a','z');
} else {
    
$letters = array('a','b','c','d','f','g','h','i','j','k','m','n','k','l','m','n','o','p','q','r','s','t','u','v','x','y','z','0','1','2','3','4','5','6','7','8','9');
}
$figures = array('10','20','30','50','70','90','110','130','150','170','190','210');
$img = imagecreatetruecolor($width,$height);
$f1 = rand(200,255);
$f2 = rand(200,255);
$f3 = rand(200,255);
$fon = imagecolorallocate($img , $f1,$f2,$f3);
imagefill($img,0,0,$fon);
    
$figures1 = range(120,255);
    
$color1 = imagecolorallocatealpha(
             
$img,
             
$figures1[rand(0,count($figures1)-1)],
             
$figures1[rand(0,count($figures1)-1)],
             
$figures1[rand(0,count($figures1)-1)],
             
rand(10,30));

for (
$j=0; $j<$sign; $j++) {
 
imageline($img, 0, rand(0,24), 130, rand(0,40),$color1);
}
 for (
$s=0; $s<80; $s++) {
 
imagesetpixel(
        
$img,
        
rand(0,$width),    
        
rand(0,$height),
        
$color);    
        }
        
    
$fontsdir = 'images/captcha';
    
$fonts = array ();
    
$fontsdir_absolute = dirname(__FILE__) . '/' . $fontsdir;
        if ((
$handle = opendir($fontsdir_absolute)) !== false) {
            while (
false !== ($file = readdir($handle))) {
                if (
preg_match('/.ttf$/i', $file)) {
                    
$fonts[] = $fontsdir_absolute . '/' . $file;
                }
            }
            
closedir($handle);
        }    
for (
$i=0; $i<$sign; $i++) {
     
$h =1;
     
$color =  imagecolorallocatealpha(
             
$img,
             
$figures[rand(0,count($figures)-1)],
             
$figures[rand(0,count($figures)-1)],
             
$figures[rand(0,count($figures)-1)],
             
rand(10,30));
     
     
$letter = $letters[rand(0,sizeof($letters)-1)];
     
     if (empty(
$x)) $x = $width*0.08;
     else 
$x = $x + ($width*0.8)/$sign + rand(0,$width*0.02);
     if (
$h == rand(1,2)) $y = (($height*1)/4) + rand (0,$height*0.1);
     else 
$y = (($height*1)/4) - rand(0,$height*0.1);
     
    
$code.=$letter;
    if(
$h == rand(0,1)) $letter = strtoupper($letter);
    
$sl = rand(8,20);
    
$index = rand(0,count($fonts) - 1);

    
$t = rand(3,10);
    
imagettftext($img,$font_size,0,($x+$sl-$t),($y+$sl),$color,$fonts[$index],$letter);
}

        
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
        
header('Cache-Control: no-store, no-cache, must-revalidate');
        
header('Cache-Control: post-check=0, pre-check=0', FALSE);
        
header('Pragma: no-cache');
        
header("Content-type: image/jpeg");
        
imagejpeg($img);
        
header('Content-Disposition: inline; filename=' . ((rand(10, 9999))) . '.jpg');
        
header('Content-Length: ' . ob_get_length());
        
ob_end_flush();
        
$_SESSION['code'] = $code;
?>
Онлайн: 2
Реклама