Сегодня
такие вещи как гостевая
книга, поиск по серверу,
форма для отправки
сообщений - неотъемлемый
атрибут практически
любого серьезного сайта.
Проблема внедрения этих и
других прибамбасов,
разумеется, всячески
возбуждает воображение
начинающего вебмастера,
лишая его сна, аппетита и
тяги к пиву. К сожалению,
изучение HTML-исходников
страниц конкурентов
ничего, кроме ссылок на
некий "cgi-bin", не дает,
да еще в телеконференциях
иногда встречается
упоминание о каких-то cgi-скриптах.
Эта статья и посвящена
основам использования
этих самых cgi-скриптов во
славу и процветание
вашего сайта.
Для начала,
думаю, надо разобраться с
понятиями (вообще
разборки и понятия -
сегодня очень актуально
:-)). CGI-скрипт - это
программа, которая
выполняется на Web-сервере
по запросу клиента (то
есть посетителя Web-сайта).
Программа эта
принципиально ничем не
отличается от обычных
программ, которые
установлены на вашем
компьютере - будь то MS Word
или игра Quake. CGI - это не
язык программирования, на
котором написан скрипт, а
Common Gateway Interface -
специальный интерфейс, с
помощью которого и
происходит запуск скрипта
и взаимодействие с ним.
Правда есть
один довольно неприятный
момент. На сервере, где
находится ваш сайт, должно
быть разрешено выполнение
cgi-скриптов. Дело в том, что
скрипт, как и любая другая
программа, может
выполнять системные
команды на сервере, что
представляет
потенциальную угрозу
безопасности. Как сказал
один мой знакомый админ:
"Одними cgi-скриптами я
могу взломать систему за 5
минут". Так что если вы
разместили свой сайт на
бесплатном сервере,
например, Xoom или Chat.Ru, то вы
не сможете запускать
скрипты. Впрочем,
некоторые бесплатные
сервера допускают
использование CGI, например,
I-Connect. Ну, а если вы платите
за размещение страницы, то,
как правило,
использование cgi-скриптов
разрешено (если нет - то и
платить провайдеру за
поддержку страницы, на мой
взгляд, не стоит).
Как работает
CGI-скрипт? Я, конечно, могу
процитировать какое-нибудь
техническое руководство,
но пользы от этого будет
мало. Поэтому расскажу,
как все происходит, своими
словами. Итак, посетитель
вашей страницы заполняет
поля формы, например, для
записи в гостевую книгу.
После этого он нажимает
кнопку "Submit", которая
и запускает cgi-скрипт.
Скрипт выполняет
запрограммированные
действия - в данном случае
считывает данные из формы
и пишет их в файл гостевой
книги - и посылает в
броузер посетителя
обычный HTML-код, например,
сообщение "Спасибо, что
вы оставили запись в
гостевой книге".
Преимуществ
CGI-скриптов перед JavaScript и
Java на мой взгляд, три, и они
весьма значительны:
- так как
программа выполняется
сервером, нет никакого
значения, какой у
посетителя броузер -
древний Lynx или новейший
Internet Explorer. Нет никаких
глюков и сообщений об
ошибках;
- cgi-скрипты
позволяют реализовать
гораздо более широкий
набор функций;
- код cgi-скрипта
закрыт для конкурентов
:-)
На каком же
языке может быть написана
CGI-программа? Ответ вас
приятно удивит:
практически на любом.
Главное, чтобы сервер мог
выполнить эту программу,
то есть на сервере должен
быть установлен
компилятор или
интерпретатор
соответствующего языка
программирования. Для
систем на базе Unix это
обычно C/С++, Perl, Shell; для
серверов под управлением
Windows NT - те же Perl, С/С++ и
любая Windows-система
программирования,
поддерживающая написание
cgi-приложений, например,
Visual Basic или Delphi.
Лично я
предпочитаю язык Perl. Он
является
интерпретируемым, то есть
программы на Perl не требуют
компиляции. Это очень
удобно: вы отлаживаете
программу на своей
домашней машине (где, к
примеру, установлена Windows),
а затем просто копируете
ее на сервер (где, скорее
всего, установлен один из
клонов Unix - FreeBSD, Linux, Sun Solaris,
HP-UX и т.п.). При смене
провайдера проблем с
переносом скриптов также
не будет.
Если же вы
решите использовать
компилятор, например, C/C++,
то вам нужно будет
компилировать исходный
текст программы на
сервере, для чего
необходим telnet-доступ к
серверу, который
провайдеры давать очень
не любят.
"Да, но я
не знаю Perl" - скажете вы.
Ха! Для того, чтобы
наладить работу скриптов
на вашем сайте, знания
языка программирования
особенно не нужно. В Сети
лежит просто немеренное
количество абсолютно
бесплатных скриптов на
любой вкус - от гостевых
книг до сложных баз данных.
Все, что вам нужно - хотя бы
начальные знания
английского языка.
Скачать любой скрипт
можно с сайта CGI-Resources.Com.
Это специализированный
каталог, содержащий
ссылки на тысячи скриптов
на самых разных языках
программирования.
Предположим,
вы решили использовать
скачанный из Сети скрипт.
Чтобы он у вас нормально
работал, нужно сделать
следующее:
- в начале
скрипта вам нужно будет
указать некоторые
данные, необходимые для
запуска скрипта,
например, путь к
интерпретатору Perl (обычно
/usr/local/bin/perl/ или
просто /usr/bin/perl/), URL
вашего сайта, имя файла,
в который будут
записываться
результаты выполнения
скрипта и т.п. Все строки,
которые нужно заменить,
обычно выделены
комментариями, так что
вы их легко найдете
- В
зависимости от
конфигурации Web-сервера,
имя скрипта должно
иметь определенное
расширение и/или скрипт
должен находиться в
определенном каталоге.
Например, имя скрипта
должно иметь расширение
.cgi и скрипт должен
лежать в каталоге cgi-bin.
Проконсультируйтесь у
администратора вашего
сервера о требованиях,
предъявляемых к
скриптам.
- Так как
скрипт - это программа,
нужно присвоить ему
атрибут "исполняемый".
- Если
скрипт пишет данные в
какой-нибудь файл (например,
файл гостевой книги), то
этот файл должен быть
доступен для записи.
Автор:
Станислав
Жарков
Источник: Pro.Net.ru
|