Файл: images/code.php
Строк: 85
<?php # Created by Up
error_reporting(0);
session_name('SESID');
session_start();
include_once '../sistem/config.php';
if((isset($_COOKIE['SESID']) and session_id()==$_COOKIE['SESID']) or (isset($_GET['SESID']) and session_id()==$_GET['SESID'])) // проверяем по сессии ли загружен проверочный код
{
// Собственно генирируем сам проверочный код
if(!isset($_SESSION['rand']))
{
$len=strlen($config['rand_alph']);
$code='';
for($i=0; $i<5; $i++)
$code.=$config['rand_alph']{rand(0,$len-1)};
$_SESSION['rand']=$code;
}
else
$code=$_SESSION['rand'];
$thiz=ImageCreate(72,30); // Размер изображения
## Выстовляем цвет
if($config['rand_fon']==1)
{
imagecolorallocate($thiz,rand(240,255),rand(240,255),rand(240,255)); // Цвет фона
}
else
imagecolorallocate($thiz,0xff,0xff,0xff); // Цвет фона
if($config['rand_kubik']==1)
{
$color_line1=imagecolorallocate($thiz,$z1=rand(200,255),$z2=rand(200,255),$z3=rand(200,255)); // Цвет квадрариков
$color_line2=imagecolorallocate($thiz,$z1-100,$z2-100,$z3-100); // Цвет тени квадратиков
}
if($config['rand_pomehi']==1)
{
## Рисуем хаотичные линии в качестве помех
$a=rand(5,20);
for($i=0; $i<$a; $i++)
{
$color=imagecolorallocate($thiz,rand(200,255),rand(200,255),rand(200,255));
imageline($thiz,rand(30,72),rand(0,30),rand(0,30),rand(0,30),$color);
}
}
if($config['rand_kubik']==1)
{
## Рисуем квадратики
for($i=0; $i<=70; $i+=14)
imageline($thiz,$i+1,0 ,$i+1,29 ,$color_line2);
for($i=0; $i<=28; $i+=14)
imageline($thiz,0 ,$i+1,70 ,$i+1,$color_line2);
for($i=0; $i<=70; $i+=14)
imageline($thiz,$i ,0 ,$i ,28 ,$color_line1);
for($i=0; $i<=28; $i+=14)
imageline($thiz,0 ,$i ,70 ,$i ,$color_line1);
}
## Генерируем код на изображении
$a=0;
for($i=3; $i<=70; $i+=14)
{
if($config['rand_kubik']==1)
{
$q=rand(1,2)==1?14:0;
}
else
$q=rand(0,14);
$g=rand(3,5);
if($config['rand_buk']==1)
{
$color_text=imagecolorallocate($thiz,$z1=rand(100,200),$z2=rand(100,200),$z3=rand(100,200)); // Цвет букаф
}
else
$color_text=imagecolorallocate($thiz,$z1=100,$z2=100,$z3=100); // Цвет букаф
if($config['rand_ten']==1)
{
$color_text1=imagecolorallocate($thiz,$z1-100,$z2-100,$z3-100); // Цвет тени букаф
imagechar($thiz,$g,$i+1,$q+1,$code{$a},$color_text1); // Рисуем тень букаф
}
imagechar($thiz,$g,$i,$q,$code{$a},$color_text);
$a++;
}
## Выводим полученное изображение
ob_start();
ImageGif($thiz);
ImageDestroy($thiz);
header("Content-Type: image/gif");
header('Content-Disposition: inline; filename=code.gif');
header('Content-Length: '.ob_get_length());
ob_end_flush();
}
else
{
header('location: '.$config['home'].'/?act=error&error=404');
exit;
}
?>