€
$
₴
₽
EN
RU
Vmeste.EU
Лента
Каталог
Файлы
Форумы
Услуги
Основное
Radiotalk
Пользовательское
Программирование
6 •
Посмотреть все темы
Капча не PHP
1
1410
Антон
@tonik
05.02.2012
Люди добрые, подскажите где проблема?
Капчу не показывает...
Показать текст
<?php
class antiscripting
{
var $width = 85; // image height
var $height = 40; // image width
var $transparent = 1; // transparency
var $interlace = false;
var $msg = 'NO BOTS!'; // text to display
var $font = 'times.ttf'; // full path to your font
var $size = 16; // font size
var $rotation = 10; // font rotation.
var $pad_x = 20; // padding x
var $pad_y = 35; // padding y
var $fg_r = 0; // text color RGB - red
var $fg_g = 0; // text color RGB - green
var $fg_b = 0; // text color RGB - blue
var $bg_r = 255; // background color RGB - red
var $bg_g = 255; // background color RGB - green
var $bg_b = 255; // background color RGB - blue
function drawImage()
{
$image = '';
$image = ImageCreate($this->width,$this->height);
// Allocate background color
$bg = ImageColorAllocate($image, $this->bg_r, $this->bg_g, $this->bg_b);
// Allocate text color
$fg = ImageColorAllocate($image, $this->fg_r, $this->fg_g, $this->fg_b);
if ($this->transparent)
ImageColorTransparent($image, $bg);
ImageInterlace($image, $this->interlace);
ImageTTFText($image, $this->size, $this->rotation, $this->pad_x, $this->pad_y, $fg, $this->font, $this->msg);
// Image distortion
// Alocate distortion color
$dc = ImageColorAllocate($image, rand(0,255), rand(0,255), rand(0,255));
// Draw eclipse
ImageArc($image, rand(0, $this->width ), rand(0, $this->height ), rand($this->width / 2, $this->width) ,rand($this->height / 2, $this->height), 0,360, $dc);
// Alocate distortion color
$dc = ImageColorAllocate($image, rand(0,255), rand(0,255), rand(0,255));
// Draw rectangle
ImageRectangle($image, rand(0, $this->width/2 ), rand(0, $this->height/2 ), rand($this->width / 2, $this->width) ,rand($this->height / 2, $this->height), $dc);
// Draw dots at random position
$dots = $this->width * $this->height / 10;
for($i=0;$i<$dots;$i++)
{
// Alocate dot color
$dc = ImageColorAllocate($image, rand(0,255), rand(0,255), rand(0,255));
// Draw dot
ImageSetPixel($image, rand(0,$this->width), rand(0,$this->height), $dc);
}
// Create image
ImagePNG($image);
}
}
$pic = new antiscripting;
$ttl = 30; // expires in 30 seconds
$now = mktime (date("H"),date("i"),date("s"),date("m"),date("d"),date("Y"));
$expires = mktime (date("H"),date("i"),date("s") + $ttl ,date("m"),date("d"),date("Y"));
$expires_gmt = gmdate('D, d M Y H:i:s', $expires).' GMT';
$last_modified_gmt = gmdate('D, d M Y H:i:s', $now).' GMT';
header('Content-type:image/png');
header('Expires: '.$expires_gmt);
header('last-modified: '.$last_modified_gmt);
session_start();
$string = $_SESSION['PROTECT'];
$pic->msg = $string;
$pic->drawImage();
?>
Собственно показывает - [ИЗОБРАЖЕНИЕ]
как отсутствие файла с изображением...
7094
Dim
@Render
05.02.2012
tonik
пишет:
Люди добрые, подскажите где проблема?
Капчу не показывает...
Показать текст
<?php
class antiscripting
{
var $width = 85; // image height
var $height = 40; // image width
var $transparent = 1; // transparency
var $interlace = false;
var $msg = 'NO BOTS!'; // text to display
var $font = 'times.ttf'; // full path to your font
var $size = 16; // font size
var $rotation = 10; // font rotation.
var $pad_x = 20; // padding x
var $pad_y = 35; // padding y
var $fg_r = 0; // text color RGB - red
var $fg_g = 0; // text color RGB - green
var $fg_b = 0; // text color RGB - blue
var $bg_r = 255; // background color RGB - red
var $bg_g = 255; // background color RGB - green
var $bg_b = 255; // background color RGB - blue
function drawImage()
{
$image = '';
$image = ImageCreate($this->width,$this->height);
// Allocate background color
$bg = ImageColorAllocate($image, $this->bg_r, $this->bg_g, $this->bg_b);
// Allocate text color
$fg = ImageColorAllocate($image, $this->fg_r, $this->fg_g, $this->fg_b);
if ($this->transparent)
ImageColorTransparent($image, $bg);
ImageInterlace($image, $this->interlace);
ImageTTFText($image, $this->size, $this->rotation, $this->pad_x, $this->pad_y, $fg, $this->font, $this->msg);
// Image distortion
// Alocate distortion color
$dc = ImageColorAllocate($image, rand(0,255), rand(0,255), rand(0,255));
// Draw eclipse
ImageArc($image, rand(0, $this->width ), rand(0, $this->height ), rand($this->width / 2, $this->width) ,rand($this->height / 2, $this->height), 0,360, $dc);
// Alocate distortion color
$dc = ImageColorAllocate($image, rand(0,255), rand(0,255), rand(0,255));
// Draw rectangle
ImageRectangle($image, rand(0, $this->width/2 ), rand(0, $this->height/2 ), rand($this->width / 2, $this->width) ,rand($this->height / 2, $this->height), $dc);
// Draw dots at random position
$dots = $this->width * $this->height / 10;
for($i=0;$i<$dots;$i++)
{
// Alocate dot color
$dc = ImageColorAllocate($image, rand(0,255), rand(0,255), rand(0,255));
// Draw dot
ImageSetPixel($image, rand(0,$this->width), rand(0,$this->height), $dc);
}
// Create image
ImagePNG($image);
}
}
$pic = new antiscripting;
$ttl = 30; // expires in 30 seconds
$now = mktime (date("H"),date("i"),date("s"),date("m"),date("d"),date("Y"));
$expires = mktime (date("H"),date("i"),date("s") + $ttl ,date("m"),date("d"),date("Y"));
$expires_gmt = gmdate('D, d M Y H:i:s', $expires).' GMT';
$last_modified_gmt = gmdate('D, d M Y H:i:s', $now).' GMT';
header('Content-type:image/png');
header('Expires: '.$expires_gmt);
header('last-modified: '.$last_modified_gmt);
session_start();
$string = $_SESSION['PROTECT'];
$pic->msg = $string;
$pic->drawImage();
?>
Собственно показывает - [ИЗОБРАЖЕНИЕ]
как отсутствие файла с изображением...
Если выводится капча через реврайт в виде .png и если хостинг вебхост1, попробуй включить apache вместо nginx, в настройках домена.
Не поможет если, смотреть логи ошибок тогда нужно.
6600
Александр
@admiral
05.02.2012
Render
, тут в другом дело)
tonik
,
var $font = 'times.ttf'; // full path to your font (полный путь к шрифту)
пропиши полный путь и все:
var $font = '
/home/user/domain/
times.ttf';
20090
Dimitry
@Dimitry
05.02.2012
а почему
не PHP
?
1410
Антон
@tonik
05.02.2012
Dimitry
пишет:
а почему
не PHP
?
Очепятка )...
Поздно заметил... сорри...
должно быть НА...