Помощник
|
Капча как обломить бота? |
MetSerp
|
Сообщение
#1
|
||
|
|
||
|
|||
Webmaster_hb |
21.1.2009, 16:30;
Ответить: Webmaster_hb
Сообщение
#2
|
|
зачем все так сложно ?
на странице с капчей сначала создается сессионная переменная и устанавливается ей значение дальше ваш скрипт картинки данные для капчи берет из сессии |
|
|
Zippovich |
21.1.2009, 16:59;
Ответить: Zippovich
Сообщение
#3
|
|
Да, для данной цели код по GET гонять не стоит, лучше в сессию записывайте его.
|
|
|
MetSerp
|
Сообщение
#4
|
|
|
Итак что у меня получилось путем недюженных интелектуальных напряжений:
[php]<? session_start(); $_SESSION['a'] = mt_rand(1,99); $_SESSION['b'] = mt_rand(1,99); $_SESSION['action'] = mt_rand(1,4); ?>[/php]Это у меня в страничке регистрации [php]<?php session_start(); $a = $_SESSION['a']; $b = $_SESSION['b']; $act = $_SESSION['action'] ; if ($act == 1) $c = "+"; if ($act == 2) $c = "-"; if ($act == 3) $c = "*"; if ($act == 4) $c = "/"; $text = "$a $c $b"; Header("Content-type: image/gif"); $rgb=006633; $idest = imagecreatetruecolor(60, 15); $textcolor = imagecolorallocate($idest, 0,255,0); imagefill($idest, 0, 0, $rgb); imagestring($idest, 3, 9, 4, $text, $textcolor); imagegif($idest); imagedestroy($idest); ?>[/php]Код капчи Все работает все берется прально и нигде не светит в коде но есть 4 вопроса: 1 Насколько кривым у меня получился код и как тут правильно сделать (стараюсь завязывать с програмированием в индийском стиле:sarcastic:) 2 текст в картинке прилипает к правому нижнему углу как выровнять его в центр картинки? (уже разобрался поковыряв функции) 3 можно ли сменить фон картинки а еще лучше поставить туда на фон свою картинку (то что за фон отвечает переменная $rgb я знаю но она не принемает нормальный хекс :nea:(тут тоже немного разобрался из за того что это гиф он берет индекс цвета а не ргб Как его получить из ргб?) 4 Можно ли средствами GD искривить выходной текст на картинке,(заставить цифры прыгать или пустить их волной) а то так как я понимаю его тоже могут считать (правда уже сложные боты которые и как акробат ридер читать умеют) Разобрался с 2мя вопросами и сам на них отвечу может кому пригодится: 3 цвет картинки задется индексом цвета rgb по причине того что картинка сохраняется в гиф для того чтобы получить этот индекс я воспользовался функцией imagecolorallocate() и получилось так: [php]$rgb = imagecolorallocate($idest, 0, 102, 51);[/php] соответсвенно цифры здесь это привычный формат rgbвозможно есть более совершенные методы но мне о них неизвестно 2 отступы текста задаются в функции [php]imagestring($idest, 4, 4, 4, $text, $textcolor);[/php] [php]imagestring(файл, размер шрифта (1-5) , отступ слева, отступ сверху, текст который необходимо рисовать, цвет шрифта);[/php]
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Большие ставки для кликов в Я.Директ. Как удешевить? | 2 | rownong27 | 1119 | 26.3.2024, 14:13 автор: knezevolk |
|
Как вы бросили работу и перешли на заработок с сайтов? | 12 | uahomka | 2289 | 25.3.2024, 6:52 автор: Skyworker |
|
Как отозвать банковский платеж фрилансеру? | 28 | metvekot | 3912 | 25.3.2024, 6:34 автор: Skyworker |
|
Как вывести деньги в Украине с заблокированного Юмани ? | 23 | freeax | 3637 | 24.3.2024, 20:55 автор: Liudmila |
|
Через какой браузер и как можно найти в кэшэ браузера видео | 10 | Room | 1929 | 23.3.2024, 7:41 автор: Room |
Текстовая версия | Сейчас: 28.3.2024, 21:41 |