URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 3983
[ Назад ]

Исходное сообщение
"Тематический каталог: Реализация теста Тьюринга на Perl (ввод цифр изображенных на картинке) (perl image auth web cgi)"

Отправлено auto_topic , 13-Июл-04 02:48 
Обсуждение статьи тематического каталога: Реализация теста Тьюринга на Perl (ввод цифр изображенных на картинке) (perl image auth web cgi)

Ссылка на текст статьи: http://www.opennet.me/base/dev/turing_test.txt.html


Содержание

Сообщения в этом обсуждении
"Реализация теста Тьюринга на Perl (ввод цифр изображенных на картинке) (perl image auth web cgi)"
Отправлено igor , 13-Июл-04 02:48 
У тебя в урле картинки прямым текстом указано число, которое изображено ... не хорошо

"Реализация теста Тьюринга на Perl (ввод цифр изображенных на..."
Отправлено scorp21 , 13-Июл-04 11:33 
От этого избавиться можно.
А так в принципе очень даже ничего.
Немного подшлифовать, заменить gif на png и рабочий package готов.

"Реализация теста Тьюринга на Perl (ввод цифр изображенных на картинке) (perl image auth web cgi)"
Отправлено Tigrisha , 13-Июл-04 09:03 
однако действительно дыра получается. Роботу совершенно незачем анализировать картинку. Проще взять и вынуть число из URL. Ведь они у тебя довольно простого вида
http://www.price-list.kiev.ua/cgi-bin/anti_robot_img.cgi?cod....

Соответственно кусочек после code и есть число. :)


"Реализация теста Тьюринга на Perl (ввод цифр изображенных на..."
Отправлено Vladimir Maximenko , 13-Июл-04 11:35 
Упс !

действительно ошибся с кодом сессии
исходник исправил

нужно читать так
Картинка отображается на странице как STDOUT работы небольшого скрипта, генерирующего картинку, код сессии передаем скрипту как параметр
<img align="right" src="/cgi-bin/anti_robot_img.cgi?code=<session_code>" border=1 alt="">


"Реализация теста Тьюринга на Perl (ввод цифр изображенных на картинке) (perl image auth web cgi)"
Отправлено AcidumIrae , 13-Июл-04 12:45 
Perl конечно хороший язык, но PHP рулит
----------------------------------------
header("Content-type: image/png");
session_start();
//Config
$font   = 4;   //Largest built-in font
$width  = 100; //Image width
$height = 35;  //Image height
$num    = 255; //Number of random background lines

$minc   = 4;   //Minimum word length
$maxc   = 8;   //Maximum word length

// seed with microseconds
function make_seed()
{
  list($usec, $sec) = explode(' ', microtime());
  return (float) $sec + ((float) $usec * 100000);
}

mt_srand(make_seed());

$len=mt_rand($minc,$maxc);
$string="";
for($i=0;$i<$len;$i++)
{
  if(mt_rand(0,1))
    $c=mt_rand(65,90);
  else
    $c=mt_rand(97,122);
  $string.=chr($c);
}

$_SESSION['word_verify']=$string;

/*********************************************************/
$im     = imagecreatetruecolor($width,$height);
$tcolor = imagecolorallocate($im, 0, 0, 0);
$bcolor = imagecolorallocate($im, 255, 255, 255);

$fx  = imagefontwidth($font);
$fy  = imagefontheight($font);

$x=mt_rand(2,$width-$fx*strlen($string)-2);
$y=mt_rand(2,$height-$fy-2);

imagefill($im, 1, 1, $bcolor);
imagerectangle( $im, 0, 0, $width-1, $height-1, $tcolor);

//Drawing random lines
for($i=0;$i<$num;$i++)
{
  $tx = mt_rand(0,$width);
  $ty = mt_rand(0,$height);

  $dx = mt_rand(mt_rand(-3,0),mt_rand(0,3));
  $dy = mt_rand(mt_rand(-3,0),mt_rand(0,3));

  imageline($im,$tx,$ty,$tx+$dx,$ty+$dy,$tcolor);
}

//cleaning box for text
imagefilledrectangle( $im, $x-1, $y-1, $x+$fx*strlen($string)+1, $y+$fy+1, $tcolor);
imagefilledrectangle( $im, $x-1, $y-1, $x+$fx*strlen($string)+1, $y+$fy+1, $bcolor);

//Writing text
imagestring($im, $font, $x, $y, $string, $tcolor);
imagestring($im, $font, $x+1, $y, $string, $tcolor);

imagerectangle( $im, 0, 0, $width-1, $height-1, $tcolor);

imagepng($im);
imagedestroy($im);


"Реализация теста Тьюринга на Perl (ввод цифр изображенных на картинке) (perl image auth web cgi)"
Отправлено Questy , 13-Июл-04 13:20 
У меня при заходе на сайт генерятся хитрые code, которые ничего не дадут при анализе.

Да и зайдя на http://www.price-list.kiev.ua/cgi-bin/anti_robot_img.cgi?cod... тоже получил не 53191.


"Реализация теста Тьюринга на Perl (ввод цифр изображенных на картинке) (perl image auth web cgi)"
Отправлено foobar , 13-Июл-04 17:48 
Можно и картинки обойти, если очень захотеть ;)
На /. как-то пробегало, открываем какой-нить порно ресурс и за показ фришного контента требуем от юзеров распознать _вашу_ картинку...

"Реализация теста Тьюринга на Perl (ввод цифр изображенных на картинке) (perl image auth web cgi)"
Отправлено danver , 14-Июл-04 20:37 
Скажите, а зачем картинку выводят в PNG ?

"Реализация теста Тьюринга на Perl (ввод цифр изображенных на..."
Отправлено Astor , 15-Июл-04 02:04 
Потому что это стандарт де-факто для опенсурсного ПО. JPEG'и, BMP и прочие GIF'ы не подходят по лицензионным соображениям.

"Реализация теста Тьюринга на Perl (ввод цифр изображенных на картинке) (perl image auth web cgi)"
Отправлено Dr. Nebula , 13-Май-05 11:55 
Хороший модуль, только на мой взгляд несколько сыроват: есть лишние подпрограммы, да и удалять старые файлы сессий лучше не при начале новой (ибо при частом обращении есть шанс, что кто то начнет новую еще до того как будет обработан преведущий запрос), а в подпрограмме проверки - если есть такая сессия, но код неправильный - удалить файл сессии
И возможно следует объединить в одну подпрограмму создание новой сессии и генерации картинки
Но это только мое мнение, глубоко модуль не копал, только посмотрел

"Реализация теста Тьюринга на Perl (ввод цифр изображенных на картинке) (perl image auth web cgi)"
Отправлено Dimma , 30-Авг-05 01:31 
Тоже по теме можете посмотреть
http://www.progland.com/protect_forms.htm

"Реализация теста Тьюринга на Perl (ввод цифр изображенных на картинке) (perl image auth web cgi)"
Отправлено СТАС , 23-Дек-05 14:20 
Что за шняга дайте готовый скрипт накой нам это ?? выложите сам скрипт как он должен вызывать модуль а то я ламер и и не тока я незнаем как чё делать !

"Реализация теста Тьюринга на Perl (ввод цифр изображенных на..."
Отправлено Dr. Nebula , 25-Дек-05 23:37 
>Что за шняга дайте готовый скрипт накой нам это ?? выложите сам
>скрипт как он должен вызывать модуль а то я ламер и
>и не тока я незнаем как чё делать !

Учиться


"Реализация теста Тьюринга на Perl (ввод цифр изображенных на картинке) (perl image auth web cgi)"
Отправлено Lookfor , 26-Дек-05 14:28 
Друзья, помогите ламеру разобраться что к чему.
Что и куда нужно поместить что-бы это все заработало...
Есть сервер, на нем стоит Perl, и сайт на котором есть заполняемая форма.
Что нужно написать в htm файле? И какие куда скрипты поместить? Спасибо!!!

"Реализация теста Тьюринга на Perl (ввод цифр изображенных на картинке) (perl image auth web cgi)"
Отправлено Жан , 24-Май-06 17:29 
Жалко, что на последнее сообшение по установке так никто и не ответил.

"Реализация теста Тьюринга на Perl (ввод цифр изображенных на картинке) (perl image auth web cgi)"
Отправлено Федор , 17-Авг-06 16:55 
да жалко но можно покапаться и найти самому что куда  вставлять, так и сказано выше УЧИТЬ :)

"Реализация теста Тьюринга на Perl (ввод цифр изображенных на картинке) (perl image auth web cgi)"
Отправлено Roman , 29-Авг-06 17:51 
на РНР проще организовать... и в JPEG можно, и в PNG и даже в файл - а потом этот файл читать.
а зачем сохранять данные в файл? можно ведь сохранять в сессию, а код сессии - в куки пользователю.

"Реализация теста Тьюринга на Perl (ввод цифр изображенных на картинке) (perl image auth web cgi)"
Отправлено Костя , 23-Янв-07 11:43 
У меня неболшая проблемка по работе указанного модуля.
У меня не получается сходу картинку выводить в форму приходится сохранять на сервере, а src= выводить её местоположение.
Нельзя как нить выводить в браузер без создания файла?

"Реализация теста Тьюринга на Perl (ввод цифр изображенных на картинке) (perl image auth web cgi)"
Отправлено grey , 28-Фев-07 14:42 
Господа... Вешался на Annotate? покопал форумы - нарыл что параметр gravity - обязательный... воткнул, вешацца перестало, но в картинку текст не пихает, выдает только фон и шум.
Шрифт видит - проверено.
Куда копать?

ЗЫЖ: Неплохо бы в статью добавить несколько строк про Контент-тайп, а то ведь у слабодумающих набор символов будет выдавать ;о)


"Реализация теста Тьюринга на Perl (ввод цифр изображенных на картинке) (perl image auth web cgi)"
Отправлено Юзер , 26-Фев-09 13:37 
Нужно прописать путь до шрифта font=>'путь.../шрифт.ttf'