Вход Регистрация
Файл: 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($img0rand(0,24), 130rand(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(109999))) . '.jpg');
        
header('Content-Length: ' ob_get_length());
        
ob_end_flush();
        
$_SESSION['code'] = $code;
?>
Онлайн: 1
Реклама