Вы не зашли.
Главная » PHP » Скажем нет капче!
#21. tipsun Off (19)
Moderator
2011.09.20 23:11
Сделаю, попозже. Не все сразу. smile
Отредактировано tipsun (2011.09.20 23:11)
#22. tipsun Off (19)
Moderator
2011.09.21 18:06
Не получается. Не знаю как именно там так же красиво все прописать.
- - - -
Как я сейчас понял сессию для гостя все равно придется начать sad
Код:
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:07)
#23. tipsun Off (19)
Moderator
2011.09.21 22:10
Нормально или как всегда г.+?
Отредактировано tipsun (2011.09.21 23:11)
#24. Gemorroj Off (107)
Administrator
2011.09.21 23:11
используй сеттеры и геттеры.
т.е. не echo $captcha->code; а, echo $captcha->getCode(); в методе getCode просто return $this->code; а переменные все приватными или защищенными сделай.
#25. tipsun Off (19)
Moderator
2011.09.21 23:11
Ок, спс.
#26. TLENS Off (14)
Moderator
2011.09.22 12:12
Чушь полная гг.
Забей в поиск "чтеыре" и получишь четыре. Это только один из ста вариантов взлома такой капчи разве что на картинку кидать и толку.
Отредактировано TLENS (2011.09.22 12:12)
#27. tipsun Off (19)
Moderator
2011.09.22 21:09
А как тогда? smile
Неужеди все способы г.+?
С картинкой тогда делать?
- - - -
Если г.+ тогда можно просто картинку с цифрами. Че мудрить тогда.
Отредактировано tipsun (2011.09.22 21:09)
#28. tipsun Off (19)
Moderator
2011.09.27 22:10
Норм? o_O
Код:
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:11)
#29. WapStyle Off (3)
Участник
2011.09.28 00:12
На те капчу...только числа с мусором...
Код:
$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. tipsun Off (19)
Moderator
2011.09.28 16:04
Я писал разноцветную, но "нахера" - потом спросил себя?
Вот идея у тебя хорошая, с сессии брать число.

Вот, вроде работает. http://wapinet.ru/forum/download.php?aid=815
Как отдельный файл, просто указать
Код:
<img src="captcha.php" alt="captcha" />
Код:
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);?>
Вложения
captcha.jpg 1kb {40x20} [загрузок: 1034]
Отредактировано tipsun (2011.09.28 16:04)
Страниц: 1 2 3 4 5 6 Все
Главная
WEB
PunBB Mod v0.6.2
0.015 s