Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Рисование. Ну и GD, достал уже... 
:(
    Опции темы
r
Дата 10.4.2005, 23:08 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Привет Всем кто не спит. Такая вот проблема на некоторых страницах регистрации выводится графическая картинка с набором всяких символов, так сказать защита от автоматической регистрации, ну я такую-же хочу написать, только вот от природы я туповат, никак не соображу как люди так делают. Картинку-то я нарисовал и цифры даже вставил, потом сохранил в файл, только теперь ни одна программа не может энтот файл просмотреть, и потом мне ведь его потом в форму-бы вставить. Вот такие дела, если кто встречался с этим поможите а то сами мы не местные и не разумеем...
  Вверх
korob2001
Дата 11.4.2005, 03:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 13
Всего: 61



Просто генерь случайное число или строку или не случайную, а потом прописывай его или её в графический файл, при этом запоминая эту же строку в переменной и запрашивай у юзверя это чило. Если число или строка введена верно, то даёшь челу доступ, если нет, то просто генеришь ошибку.
Думаю принцип понятен.


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
r
Дата 11.4.2005, 20:19 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Да принцип-то я понял давно вот код из-за которого не получается вставка картинки в форму(файл не читается):
Код

#!C:\perl\bin\perl -w
use strict;
use CGI;
use CGI::Carp 'fatalsToBrowser';
 my $cgi = new CGI;
 use GD;
my $number=238756; //Тут сгенерю число.
   my  $im = new GD::Image(90,20);
  my  $white = $im->colorAllocate(255,255,255);
   my  $black = $im->colorAllocate(0,0,0);       
   my  $red = $im->colorAllocate(255,0,0);      
   my $blue = $im->colorAllocate(0,150,255);
     $im->transparent($white);
     $im->interlaced('true');
     $im->fill(50,50, $blue);
     $im->string(gdGiantFont,15,4,$number,$white);
    binmode STDOUT;
    open(PNG,'>../www/cifra.png')|| die "ERORR!!!\n";
    print $cgi->header( -charset => 'Windows-1251' );
    print PNG $im->png;
     print $im->png;
     close(PNG);

Попробуй открыть энтот файл как нибудь. smile
  Вверх
Phoinix
Дата 12.4.2005, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 16.11.2004
Где: Moskau

Репутация: 1
Всего: 2



Зачем тебе, собственно, CGI, если ты выводишь им только заголовок, причем неправильный...

print $cgi->header( -charset => 'Windows-1251' );

замени на

print "Content-type: image/png\n\n";

и будет тебе счастье...

Это во первых, а во вторых для вставки текста в изображение проще использовать GD::Text
PM WWW ICQ   Вверх
r
Дата 13.4.2005, 19:53 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(Phoinix @ 12.4.2005, 15:26)
Зачем тебе, собственно, CGI, если ты выводишь им только заголовок, причем неправильный...

print $cgi->header( -charset => 'Windows-1251' );

замени на

print "Content-type: image/png\n\n";

и будет тебе счастье...

Это во первых, а во вторых для вставки текста в изображение проще использовать GD::Text

<b>Phoinix</b>, ты неправильно понял, CGI мне нужен, я использую его по всему скрипту, и в нем уже около шестисот строк, этот кусочек кода, я так, набросал как пример. Второе, так как ты предложил выводить заголовок, почему-то не получается. Ну и в третьих если ты видел я сохранил в файл картинку, ведь мне нужно будет потом эту картинку вставить в форму, а не просто вывести отдельно. Так вот закавыка в том что картинки не видно в форме. Видно рамку а самой картинки не видно, причём этот файл я даже не могу открыть другими програмами. Спасибо.
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0783 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.