Форум: "Потрепаться";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];




Вниз

CGI 


creepster   (2001-12-19 18:54) [0]

кто хоть как то разбирается в CGI скриптах?
подскажите как создать хоть какой-нибудь скрипт!!!



Snus   (2001-12-19 20:51) [1]

Делаешь console application, там пришешь спокойно первой строчкой
writeln("Content-type: text/html");
writeln;
после чего пишешь что угодно, хоть
writeln(" Hello world");



Velocity   (2001-12-20 05:27) [2]

а вообще-то на дельфи такое лучше не писать... надо скрипт - учи ПЕРЛ или ПХП - возможностей больше, головных болей - меньше. насчет ПХП не знаю а ПЕРЛ - весчь, есть версия под вынь98 (!), наваять можно все что душе угодно.



Snus   (2001-12-20 14:03) [3]

IMHO (именно humbly:) что PHP попроще в освоении - больше похож на стандартные языки типа C и Pas, есть RegExp"ы и БД. Есдинственное, пожалуй, глобальное отличие - необходисоть каждый рах объявлять нужные переменные как global:) В общем, процесс миграции занимает день-два,
версия под Win98 и неплохой Manual скачиваюстя c php.net.

Have fun!



Serg5   (2001-12-20 15:04) [4]

Господа CGI-сты, делали ли Вы скрипты на D5D6. И ложили их на UNIX сервер. Скомпилированные. Возможно ли это. Прежде всего чем меня не привлекает Perl и PHP -все скрипты можно скопировать, переделать и т.д.



panov   (2001-12-20 15:40) [5]

Нет - на Unix их положить невозможно!
CGI на WIN32 платформе - пожалуйста.



Serg5   (2001-12-20 17:47) [6]

>panov
Хорошо, а в 6м сейчас можно скомпилировать под Linux (??? KULIX ???), возможно ли тогда таким путём, т.е. писать хочу под win"s на 6м, и делать откомпилированные, а ложить на UNIX.
Были на этом форуме ссылки, я ещё не разбирался, но типа для этих целей
http://fpc.by.ru/ -рус
http://www.freepascal.org/ - англ



gunner   (2001-12-20 17:56) [7]

Velocity
осмелюсь поспоритьс тобой на счёт функциональности !! У цги скриптов функцианальности хоть одбавляй ! Они могут всё что может позволить операционная система !

panov CGI это всего лишь стандарт, правило работы если угодно, платформа тут не причём ! Если скрипт написан на делфях, то можно перекомпилить его под Киликсом и валяй под линух ! вот !



panov   (2001-12-20 18:19) [8]

>gunner (20.12.01 17:56)
Да ради бога, хоть под AS400, если есть средство разработки!



Velocity   (2001-12-21 06:57) [9]

>gunner
Не понял возражения. О какой функциональности идет речь? Я лишь сказал что дельфи для этого не очень подходит, перл проще да и удобней так как собственно для этого и разрабатывался. К тому же неизвестно как сия консольная апликация отнесется к банальному переполнению буфера при получении СВЕРХдлинного запроса.



Serg5   (2001-12-21 09:01) [10]

А сверх длинный запрос это сколько (в полях или симфолах?)



Shurick   (2001-12-21 10:34) [11]

Экзешник как cgi — не только мутно, но и опасно.
Причина вот в чем — чтобы это сделать, надо разрешить выполнение *.exe в одном из web-каталогов.
Теперь представим себе такую ситуацию: на веб-сервере есть скрипт или приложение, которое позволяет сделать upload на сервер (уязвимость или предусмотренная возможность). При небольшой ошибке в проверке содержимого подгруженного файла (если возможность upload"a предусмотренная) может возникнуть ситуация, когда в вашем cgi-bin каталоге появится ЧУЖОЙ исполняемый файл. Это опасно даже в случае перл- или пхп-скрипта. А бинарник — еще опаснее. А потом будет что-то в духе "читал логи, долго думал"...:) Это если вам оставят логи.:)



Shurick   (2001-12-21 10:39) [12]

Кстати о переполнениях... Отнесется нормально, если корректно обрабатывать входной поток.



Shurick   (2001-12-21 10:47) [13]

2 Serg5:
>Прежде всего чем меня не привлекает Perl и PHP -все скрипты можно
>скопировать, переделать и т.д.
Ну, тут есть простое решение. Идешь на www.zend.com и качаешь себе PHP Encoder. За 2400$...:)
ЗЫ Конечно, если не гнушаешься ломаным, могу подарить...:)))))
ЗЗЫ Определиться, что лучше учить (PHP или Perl), можно так: посмотри на свой проект. Если он "одноразовый" и скорость разработки важнее легкости модернизации и масштабируемости, то ваяй на ПХП. В остальных случаях — Perl. ИМХО.



gunner   (2001-12-21 11:33) [14]

Об этом можно говорить до бесконечности, и все будут правы по своему ! Поэтому каждый пишет на том на чём ему нравится !



creepster   (2001-12-21 19:57) [15]

мне просто на днях показали CGI счётчик, созданный на дэлфи, не знаю как зделали, но сказали, что замутили за пару минут!!!



Light Elf   (2001-12-21 22:08) [16]

И в чем проблема?

код на Perl
-------
#!/usr/bin/perl

open (FILE, "+<counter.log"); # открыли файл-счетчик
$count = <FILE>; # считали значение счетчика
truncate (FILE, 0); # обрезали файл по самые гланды
seek (FILE, 0,0); # переместили указатель в начало файла
++$count; # увеличили значение счетчика
print FILE $count; # сохранили новое значение
close FILE; # закрыли файл

print "Content-type: text/html\n\n";
print $count; # вывели на экран значение счетчика
------------

Для вас проблема повторить это на Delphi?


Если добавить 3-5 строк, то будет и блокировка файла счетчика.



Anatoly Podgoretsky   (2001-12-21 22:28) [17]

AssignFile(F,"Counter");
Reset(F);
ReadLn(F,Counter);
Counter := Counter + 1;
CloseFile(F);
Rewrite(F);
Writeln(F,Counter);
CloseFile(F);
WriteLn("Content-type: text/html");
WriteLn;
WriteLn(Counter);

Но все это чепуха, без организации блокировок оба кода не живые.



Light Elf   (2001-12-23 21:18) [18]

Для организации блокировки под виндами можно пользоваться файлом флагом.
Под *nix есть flock.



Виталик   (2001-12-24 15:55) [19]

Вот по этой ссылке можно скачать несколько примеров создания счётчиков
http://www.inta.portal.ru/dark/Docs/DelphiDoc/Internet.html




Форум: "Потрепаться";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.75 MB
Время: 0.018 c
6-42818           Sir Alex              2001-11-23 20:09  2002.02.14  
IE & Asynchronous Pluggable Protocols


1-42715           blankalex             2002-02-01 12:14  2002.02.14  
Raize Components


14-42860          Андрей Сенченко       2001-12-25 16:20  2002.02.14  
Безумные размеры EXE-шников


1-42792           Hokum                 2002-01-31 16:43  2002.02.14  
Имитация InterBase


1-42783           Zer0                  2002-01-17 18:58  2002.02.14  
Хелп!!!