#21 2011.09.20 23:09

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Скажем нет капче!

Сделаю, попозже. Не все сразу. smile

Отредактировано tipsun (2011.09.20 23:09)

Неактивен

#22 2011.09.21 18:38

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Скажем нет капче!

Не получается. Не знаю как именно там так же красиво все прописать.
- - - -
Как я сейчас понял сессию для гостя все равно придется начать sad

Код:

1
span style="color: #0000BB"><?phpclass captcha { //Словарь// private $lib = array('ручка', 'тетрадь'); private $word = null; public $code = null; public function __construct() { $this->word = $this->lib[array_rand($this->lib)]; preg_match_all('/.{1}/u', $this->word, $letters); $letters = $letters[0]; $count = sizeof($letters)-1; $_FL = $letters[0]; $_LL = $letters[$count]; unset($letters[0], $letters[$count]); shuffle($letters); $this->code = $_FL.implode($letters).$_LL; if($this->word == $this->code) self::__construct(); } public function check() { } }$captcha = new captcha;echo $captcha->code;?>

Отредактировано tipsun (2011.09.21 19:43)

Неактивен

#23 2011.09.21 22:56

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Скажем нет капче!

Нормально или как всегда г.+?

Отредактировано tipsun (2011.09.21 23:00)

Неактивен

#24 2011.09.21 23:07

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Скажем нет капче!

используй сеттеры и геттеры.
т.е. не echo $captcha->code; а, echo $captcha->getCode(); в методе getCode просто return $this->code; а переменные все приватными или защищенными сделай.

Неактивен

#25 2011.09.21 23:12

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Скажем нет капче!

Ок, спс.

Неактивен

#26 2011.09.22 12:51

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Скажем нет капче!

Чушь полная гг.
Забей в поиск "чтеыре" и получишь четыре. Это только один из ста вариантов взлома такой капчи разве что на картинку кидать и толку.

Отредактировано TLENS (2011.09.22 12:55)

Неактивен

#27 2011.09.22 21:13

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Скажем нет капче!

А как тогда? smile
Неужеди все способы г.+?
С картинкой тогда делать?
- - - -
Если г.+ тогда можно просто картинку с цифрами. Че мудрить тогда.

Отредактировано tipsun (2011.09.22 21:21)

Неактивен

#28 2011.09.27 22:35

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Скажем нет капче!

Норм? o_O

Код:

1
span style="color: #0000BB"><?php//////////function captcha() { $code = rand(1000,9999); $image = imageCreateTrueColor(40, 20); imageFill($image, 39, 19, imageColorAllocate($image, 128, 128, 128)); imageString($image, 5, 2, 2, $code, imageColorAllocate($image, 0, 0, 0)); imagejpeg($image, 'captcha.jpg', 100); imageDestroy($image); return $code; }//////////session_start();$_SESSION['_CAPTCHA_'] = captcha();?>

Отредактировано tipsun (2011.09.27 23:13)

Неактивен

#29 2011.09.28 00:38

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

Re: Скажем нет капче!

На те капчу...только числа с мусором...

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
$pkod = str_split(intval($_SESSION['code']));
$img = imagecreate(42, 18);
$fon = imagecolorallocate($img, 255, 255, 255);
imagefill($img, 0, 0, $fon);
$color1 = imagecolorallocate($img, mt_rand(0, 204), mt_rand(0, 204), mt_rand(0,204));
$color2 = imagecolorallocate($img, mt_rand(0, 204), mt_rand(0, 204), mt_rand(0,204));
$color3 = imagecolorallocate($img, mt_rand(0, 204), mt_rand(0, 204), mt_rand(0,204));
$color4 = imagecolorallocate($img, mt_rand(0, 204), mt_rand(0, 204), mt_rand(0,204));
 
ImageString($img, 5, mt_rand(2, 3), mt_rand(0, 3), $pkod[0], $color1);
ImageString($img, 5, mt_rand(11, 12), mt_rand(0, 3), $pkod[1], $color2);
ImageString($img, 5, mt_rand(20, 21), mt_rand(0, 3), $pkod[2], $color2);
ImageString($img, 5, mt_rand(29, 30), mt_rand(0, 3), $pkod[3], $color3);
 
for($i = 0; $i < 5; $i++){
$temp_color = imagecolorallocate($img, mt_rand(155, 204), mt_rand(155, 204),mt_rand(155, 204));
imageline($img, mt_rand(0, 42), mt_rand(0, 18), mt_rand(0, 42), mt_rand(0, 18),$temp_color);
}
for($i = 0; $i < 50; $i++){
$temp_color = imagecolorallocate($img, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));
imagesetpixel($img, mt_rand(0, 42), mt_rand(0, 18), $temp_color);
}
 
Header('Content-type: image/gif');
ImageGIF($img);
ImageDestroy($img);

Неактивен

#30 2011.09.28 16:16

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Скажем нет капче!

Я писал разноцветную, но "нахера" - потом спросил себя?
Вот идея у тебя хорошая, с сессии брать число.

Вот, вроде работает. http://wapinet.ru/forum/download.php?aid=815
Как отдельный файл, просто указать

Код:

1
<img src="captcha.php" alt="captcha" />

Код:

1
span style="color: #0000BB"><?phpsession_start();$image = imageCreateTrueColor(40, 20);imageFill($image, 39, 19, imageColorAllocate($image, 128, 128, 128));imageString($image, 5, 2, 2, (int)$_SESSION['_CAPTCHA_'], imageColorAllocate($image, 0, 0, 0));header('Content-Type: image/jpeg;');imagejpeg($image, null, 100);imageDestroy($image);?>

Вложения

Отредактировано tipsun (2011.09.28 16:35)

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.075 s