Корпоративный сайт. Эффективный инструмент бизнеса

       

Описание CGI на примере FormMail


Рассмотрим пример часто используемого скрипта FormMail c кратким описанием его возможностей в преломлении внесения неких имиджинговых и маркетинговых составляющих в страницы Вашего сайта. Использование данного приложения мало чем отличается "по идеологии" от подобного — hotline.cgi, которое используется на русскоязычном сайте корпорации Ford. Описание FormMail иллюстрирует некоторые возможности и принципы работы CGI.

Нетрудно догадаться из названия, что FormMail является "шлюзом" между формой, которую видит удаленный посетитель Вашего корпоративного сайта, и некой почтовой системой, отсылающей "содержимое" заполненной формы пользователем в адрес, например, Вашего отдела продаж, отдела маркетинга, технического, дилерского отделов.

Настройка скрипта достаточно проста. Необходимо в соответствующих строках указать значения переменных — путь к почтовой системе на сервере (переменная mailprog), список адресов сайтов (referes). Часто значение переменной mailprog может быть, например, записано: $mailprog = '/usr/lib/sendmail'. — наиболее типичный путь к почтовому серверу Sendmail для Unix-совместимых операционных систем. Следующее значение, которое необходимо указать в FormMail — referers — "указание" адресов сайтов, с которых может обращаться пользователь для того, чтобы через почтовую систему Вашего сервера не передавали информацию из форм, расположенных, например, на "чужих" сайтах. @referers =(список адресов сайтов). Местом "входа" в шлюз может являться, например, форма, доступная посетителю Вашего сайта и предназначенная для передачи информации в адрес, скажем отдела продаж, техотдела и т. д. по электронной почте. Существует ряд способов, использование которых позволяет в удобном для посетителя и необходимом Вам виде сформировать ту или иную форму на соответствующей странице Вашего Интернет — представительства. Формы могут создаваться не только для отсылки по электронной почте, но и для запроса к СУБД, запуска приложений сервера с теми или иными параметрами, которые, по сути, и являются информацией, вносимой в поля или формируемой переключателями, списками и другими элементами форм.
Также существуют параметры, которые могут передаваться приложениям сервера через CGI и без всякого внесения их пользователем, как вместе с информацией формы, так и отдельно, а иногда и просто при открытии WEB-навигатором посетителя страницы. Именно так работают "счетчики", формирующие строку рейтинга (код которых встроен в страницу) и некоторые другие приложения.
При организации отсылки информации через FormMail, необходимо указание адреса электронной почты, на который отсылается сообщение. Кроме того, возможно указание обязательных полей формы, которые должен заполнить удаленный посетитель Вашего корпоративного сайта, указание страницы, содержащей сообщение о том, что информация передана, и адреса страницы, "говорящей" о том, что необходимо внести обязательную информацию. Для этих и других действий необходимо написание "дополнительных" строк кода, которые не являются сложными логическими операциями, а требуют лишь соответствующих знаний и навыков, которыми может и должен обладать любой разработчик.
Перечислим некоторые из "дополнительных строк", которые могут быть внесены в HTML-код страницы и являются параметрами, которые удаленный посетитель никуда не вводит, но, нажав соответствующую кнопку, независимо от его желания передает нужному приложению сервера: REMOTE_HOST — отсылает имя удаленного хоста, пославшего запрос, REMOTE_ADDR — его IP — адрес, HTTP_USER_AGENT — WEB-навигатор, через окно которого удаленный посетитель Вашего корпоративного сайта послал запрос и даже... REMOTE_USER — имя пользователя. Это далеко не все возможности, но стоит отметить, что "дополнительные строки" могут быть "вложены" в HTML-код страницы Вашего корпоративного сайта и в небольшой файл FormMail.pl из каталога CGI-BIN "объемом".. ~25 килобайт.
Передаваемая пользователем информация подлежит дальнейшей обработке и анализу с различной степенью автоматизации, как "вручную" — соответствующими специалистами, так и с использованием программных средств. Чем выше степень автоматизации, тем выше стоимость реализации законченного решения!

Содержание раздела