|
|
Обзор
CGI скриптов. Часть 2
|
Небольшое введение CGI скрипты распространяются обычно в виде исходного кода на том языке, на котором они написаны. Чаще всего - это язык perl, так как он очень хорошо приспособлен для разбора строковых переменных. Существует несколько публичных архивов CGI скриптов, самый известных из которых - это CGI-resources. Большинство скриптов в публичных архивах бесплатны или имеют бесплатные версии с ограничениями в производительности или функциональности. Есть, в тоже время и достаточно сложные, дорогие скрипты такие, например, как каталоги ссылок или программы управления базами данных - их цена может составлять несколько сотен (а порой и тысяч) долларов. Для запуска скрипта на своем сервере вам необходимо иметь представление о том, что такое perl-программа (впрочем, если вы пишете свои страницы непосредственно кодом, то здесь у вас не возникнет затруднений). Так же вам нужен полноценный ftp или telnet доступ к серверу, ftp редактор, который обладает функцией изменения атрибутов файла на сервере - CHMOD (я рекомендую far-manager или cuteFtp). Кроме того, не забудьте узнать у вашего хостинг-провайдера, какие скрипты вам дозволено запускать на сервере (в случае бесплатного хостинга, тут могут быть серьезные ограничения), а также, где лежит собственно сам интерпретатор perl и какой он версии. Да, чуть не забыл, вам также желательно знать операционную систему вашего сервера, так как некоторые программы не обладают кроссплатформенной совместимостью, и расположение служебных программ, таких как sendmail. Выяснив все эти подробности, вы отправляетесь в публичный архив, чтобы выбирать себе программу по вкусу. Что же можно там обнаружить?
Это, безусловно, самые распространенные скрипты - именно их чаще всего спрашивают и устанавливают. Что-либо из этого ряда скриптов есть практически на каждом сервере, не имеет значения - свои или арендованные, но присутствуют они обязательно. Так сказать - джентльменский набор. Один из самых простых форумов "Robboard" может использоваться в зависимости от настроек и как продвинутая гостевая книга, и как доска объявлений, и как форум. Скрипт состоит из одного файла программы и трех HTML файлов, все настройки производятся заданием переменных непосредственно в тексте программы. Из возможностей - удаление объявлений, запрет пользователям по ip адресу, вывод даты и вывод ip адреса. Идеальное решение для новичка, так как инсталляция и настройка скрипта не вызывает трудностей, правда, скорость работы его также оставляет желать лучшего. А вот другой представитель - один из самых сложных скриптов в этой области: доска объявлений E-classifieds. Эта доска обладает уже очень серьезными возможностями: поддержка неограниченного количества категорий в рамках одного скрипта, возможность запрета на постинг пользователю по ip адресу, выборочное и массовое удаление объявлений администратором, рассылка писем-подтверждений пользователям, поиск по массиву объявлений, автоматическое обновление, автоматическое удаление объявлений, добавление категории "на ходу" и пр. Естественно, полные возможности этого скрипта доступны только в платной версии, но и бесплатная представляет собой совсем недетскую программу. Разнообразие скриптов в этой области настолько велико, что его трудно
даже представить. Так, недавно я наткнулся на скрипт, с помощью которого
можно устроить свою автоматическую раздачу гостевых книг, не затрудняясь
с ручной их установкой. Вы видели этот скрипт в работе - очень часто на странице есть небольшая
формочка с надписью "пишите нам" или что-либо в этом роде. Для
пересылки данных из этой формы на ваш почтовый адрес используется простейший
CGI скрипт, состоящий из двух программ - Get и Send. Скрипт удобно использовать
для получения справочной информации такой как: заполненные анкеты, регистрационные
данные, жалобы пользователей и пр. При работе скрипта, обычно используется
программа sendmail вашего сервера, так что не забудьте установить ее местонахождение.
Кстати, иногда появляются скрипты, задействующие для отправки сообщений
почтовый клиент пользователя. Это может быть удобно для подтверждения
почтового адреса с которого, например, осуществлена подписка (или еще
что-либо), но, в общем случае, неудобно для пользователя (например, у
него может быть почта на hotmail) Преимущество собственного скрипта рассылки перед арендуемым кажется мне весьма сомнительным. Единственный аргумент "за", который я нахожу - это независимость от работоспособности другого сервера, но, с другой стороны, вы лишь перегружаете свой канал, так что эту независимость также сложно назвать преимуществом. Все же остальное можно найти в арендуемых сервисах: Одно из самых красивых решений - это регистрация подписчиков в собственной
базе данных с последующей рассылкой ваших выпусков через сторонний сервер.
Хорошим применением такого рода скриптов может стать техническая рассылка
(например, рассылка писем с новостями всем вебмастерам, чьи сайты зарегистрированы
в вашем каталоге). Вот этого арендуемые скрипты предоставить уже не могут - анализ лог-файлов сервера. Для предоставления подобного сервиса сначала необходимо решить проблему с пересылкой довольно большого объема информации - несколько мегабайт в день (примерно по мегабайту на каждые двести человек), поэтому желающих особенно и не наблюдается. Выгодно отличаясь от всех современных счетчиков, программы обработчики аналитических данных учитывают все обращения на страницах вашего сервера, что, без всяких сомнений, дает более точные и полные значения вашего трафика. Это тот скрипт, который имеет смысл установить у себя на сервере в первую очередь. Кстати, некоторые хостинг-провайдеры ("Аха", например), предустанавливают этот скрипт на предлагаемые хостинговые пакеты. Скрипты учета статистики обладают большим разнообразием, так как большинство из них разрабатывалось "для себя", а, следовательно, каждый скрипт учитывает, в первую очередь, параметры необходимые автору. Хорошая аналогия - счетчики. Так, например, создателям count.ru была интересна, в основном, техническая статистика (разрешение, цветность и пр.) и счетчик получился соответствующим, тогда как создателям Extreme были, вероятно, важнее ссылающиеся страницы, и основной упор в счетчике сделан именно на них. Другой путь изучения статистики вашего сервера 0 это установка специализированной
программы (обычно коммерческой) с возможностями гораздо более широкими,
чем у CGI скрипта. Пример такой программы - NetTracker. Однако для установки
такой программы вам необходим доступ к серверному ПО (то есть, к системе
самого компьютера), который администратор может вам и не дать. Кроме того.,
стоимость такой программы может составлять несколько сотен долларов за
работающий вариант, что порою сравнимо со стоимостью разработки самого
сайта. В архивах рубрицированные в эту группу скрипты обычно представляют собой
сразу несколько принципиально разных программ. Во-первых, это системы
голосований типа "rank-it" - так, например, как устроено голосование
каталога "Золотой УРЛ", то есть, пользователю предлагается выставить
оценку чему-либо (сайту событию, мнению и пр.). Во-вторых, это системы
опросов, где пользователю предлагается сделать выбор из нескольких ответов
на вопрос, а потом, при желании, сразу и посмотреть на результаты голосования.
Если вы зарабатываете на рекламе, то вам наверняка знакома проблема контроля баннеров. Особенно остро она встает, если вы работаете со сборным брокером типа Safe или Click Trade, каждый баннер разный, за каждым нужно следить отдельно, да и программы часто устаревают, нужно отыскивать этот баннер и менять его на другой, следовательно, нужно помнить, где какой баннер стоит. В общем, мороки не оберешься. Хорошо еще, если у вас всего 10-20 страниц, а если их количество переваливает за сотню, и то не единственный ваш сайт? Вот где можно повеситься. Чтобы не учинять над собой суицид, можно несколько автоматизировать этот процесс и воспользоваться ротацией. Ротация - это CGI скрипт, который выбирает из своей базы данных случайным
образом баннер и вставляет его на страницу в указанном месте, получается
нечто вроде баннерообменной сети, но локально. Таким образом, вы на всех
страницах ставите один и тот же код - код вызова CGI скрипта, а при любом
изменении программ в которых вы участвуете необходимо отредактировать
только файл базы данных. Это очень ценный скрипт для сайта, объем которого исчисляется сотнями статических страниц, и сам издатель уже плохо помнит, где у него что лежит. Кроме того, поисковая машина - это альтернативная система навигации, привычная для большинства пользователей Сети. С помощью локальной поисковой машины можно организовать поиск сразу по нескольким сервера, что очень удобно, если ваш сайт разнесен на несколько разных адресов по категориям. Следует, однако, помнить, что локальная поисковая машина - это всего лишь CGI скрипт на медленном языке Perl и увеличение объема индекса быстро приведет к истощению запасов мощности скрипта и сервера. В сущности, мощность последнего и будет вам основным препятствием. Поисковая машина - это не доска объявлений - вам может при установке потребовать от вас солидный навык в знании perl программ и даже в программировании. Вам необходимо также иметь представление о принципах взаимодействия поискового робота со страницами сайта, чтобы работа вашего скрипта была эффективной. Сами понимаете, - большинство поисковых скриптов не достанутся вам бесплатно,
однако, почти все имеют бесплатную версию. Очень модный сейчас скрипт - FFA-links -страница с нескольким стандартными категориями, куда любой желающий может положить ссылку на свой (или чужой) сайт. Без сомнений, вещь совершенно бесполезная, предназначенная, как я понимаю, исключительно для демонстрации "крутизны" владельца. Подобные страницы с всегда одинаковыми категориями: "Busines", "webmaster", "personal", "misk" etc: моментально превращаются в гигантсткие помойки. Эффективность размещения ссылки в таком, с позволения сказать, "каталоге" равна нулю (хорошо хоть - не отрицательна), так, недавно я провел эксперимент и разослал одну английскую страничку на полторы тысячи англоязычных FFA-links - результат, как и ожидалось, получился нулевой. С другой стороны, есть и вполне приличные скрипты, обладающие уже возможностями
средней руки катлаогов. Это разнесение категорий по разным логическим
страницам, описание к каждой ссылке, поиск по каталогу, модерация ссылок,
автоматический поиск неработающих ссылок, автоматическая рассылка с новыми
поступлениями, автоматическая страница "что нового" и пр. Такие
скрипты (вернее комплексы), конечно, существуют, но они уже не бесплатны,
правда, каталог Links2 от Gossamer Threads иммет бесплатную версию для
коммерческого использования. Чаще однако, катлог ссылок организовывается
с использованием динамической БД и PHP скрипта для доступа к базе. Как я уже писал в первой части этого обзора, чат - это крайне ресурсоемкий скрипт. Для установки и эксплуатации скрипта вам потребуется быстрый сервер и несколько десятков мегабайт дискового пространства, а также (и главное) согласие хостинг-провайдера на требуемую загрузку сервера для поддержки чата. Кроме того, необходим модератор, который будет постоянно (или почти постоянно) находиться в чате, поддерживать беседу, а также отключать неугодных посетителей. Среди свободно распространяемых скриптов есть два вида чатов - это CGI
скрипт и Java-скрипт. Последние несколько медленнее первых, но значительно
(!) более просты в инсталляции и настройке, что вообще присуще всем java-приложениям.
При этом основные проблемы Java-чата - это возможность некорректной интерпретации
результатов работы скрипта браузером и большой объем пересылаемых данных.
С другой стороны, более привычный CGI- скрипт лишен обоих этих недостатков,
так как на его выходе получаются статичные HTML страницы, но его инсталляция
может превратиться в кошмар, особенно для не очень опытного пользователя. |