Выбор хостинга: Расказ о CGI-скриптах |
Сегодня такие
вещи как гостевая книга, поиск по серверу, форма
для отправки сообщений - неотъемлемый атрибут
практически любого серьезного сайта. Проблема
внедрения этих и других прибамбасов, разумеется,
всячески возбуждает воображение начинающего
вебмастера, лишая его сна, аппетита и тяги к пиву.
К сожалению, изучение 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.
Проконсультируйтесь у администратора вашего
сервера о требованиях, предъявляемых к скриптам.
- Так как скрипт - это программа, нужно
присвоить ему атрибут "исполняемый".
- Если скрипт пишет данные в какой-нибудь файл
(например, файл гостевой книги), то этот файл
должен быть доступен для записи.
Если у Вас не
коммерческий проект, что и подразумевается для
начинающнго вебмастера, то Вы можете
воспользвоваться бесплатным CGI-хостингом.
То есть, получить быстро и бесплатно гостевые
книги, доски объявлений, чаты и прочее...
X Point CGI - Быстро и легко
создайте себе, что хотите 14 CGI Scripts.
CGI For
Me - Велеколепное место, если Вы не знаете CGI
или у вас нет доступа к CGI. Вы сможете
создать себе WWWBoard, Free For All Links, Polls, Counters,
Guestbooks, Clocks, Postcards, Search Engines, and LOTS more!
CGI Free
- Еще один отличный сервис включает random images,
browser redirections, random links, random quotes, and few other things
|Вернутьcя на
главную|Выбор хостинга| |