Поддержка CGI-сценариев
Поддержка CGI-сценариев
Если вы собираетесь использовать CGI-сценарии, то должны сообщить серверу Apache о своем намерении. При получении URL, содержащего имя сценария, сервер должен запустить этот сценарий, а также организовать обработку данных, переданных клиентом, формирование Web-страницы и передачу ее броузеру. При использовании CGI-сценария Apache выполняет роль посредника между клиентом и сценарием на стороне сервера. Настроить сервер для выполнения подобных функций не сложно. Вы должны лишь разрешить поддержку CGI-сценариев и сообщить Apache типы запросов, при получении которых следует запускать сценарии.
Для обеспечения работы с CGI необходимо загрузить соответствующий модуль Apache.
LoadModule cgi_module lib/apache/mod_cgi.so
Если компоненты, предназначенные для поддержки CGI-сценариев, включены в состав двоичных файлов Apache, вам надо активизировать их посредством директивы AddModule. (В некоторых случаях активизировать надо и компоненты, реализованные в виде модулей.)
AddModule mod_cgi.с
В результате сервер Apache получает возможность запускать CGI-сценарии и взаимодействовать с ними. Вам осталось лишь разрешить поддержку CGI для конкретных файлов и каталогов. Сделать это можно несколькими способами.
• ScriptAlias. Данная директива решает две задачи. Во-первых, она сообщает серверу Apache о том, что файлы, содержащиеся в указанном каталоге, должны интерпретироваться как CGI-сценарии. Во-вторых, посредством этой директивы задается соответствие между каталогом, расположенным на диске, и каталогом, который указывается в URL. Например, выражение ScriptAlias /scripts/ "/home/httpd/cgi-bin/" отображает физический каталог /home/httpd/cgi-bin/ в каталог /scripts в составе URL. В результате, если пользователь укажет URL http://www.threeroomco.com/scripts/test.pl, сервер запустит на выполнение сценарий test.pl, содержащийся в каталоге /home/httpd/cgi-bin/. Часто при инсталляции Apache опции LoadModule и AddModule по умолчанию включаются в конфигурационный файл; вероятнее всего, вы встретите их, просматривая содержимое файла httpd.conf. Для работы с CGI-сценариями часто бывает нужен модуль mod_alias. Соответствующая директива обычно по умолчанию включается в состав конфигурационного файла. При возникновении проблем, проверьте, загружен ли данный модуль.
• Options +ExecCGI. Разрешить выполнение CGI-сценариев можно, указав значение +ExecCGI директивы Options. Данная опция не должна указываться для всей системы, ее имеет смысл применять только к отдельным каталогам (т.е. она должна присутствовать только в составе директивы <Directory>).
• .htaccess. Контролировать доступ к отдельному каталогу можно, размещая в нем файл .htaccess. Если в файле .htaccess содержится запись Options +ExecCGI, Apache будет запускать CGI-сценарии, находящиеся в этом каталоге. Чтобы это произошло, в файле httpd.conf должна находиться запись AllowOverride Options; эта запись должна воздействовать как минимум на каталог, содержащий файл .htaccess.
Внимание
Наличие записей Options +ExecCGI и AllowOverride Options представляет угрозу для системы. При неправильном использовании этих средств пользователи получают возможность создавать сценарии, предоставляющие полный доступ к системе. По этой причине в большинстве дистрибутивных пакетов использование файла .htaccess запрещено.
Часто при настройке Apache в конфигурационный файл включается директива ScriptAlias, отображающая каталог /home/httpd/cgi-bin файловой системы в каталог /cgi-bin в составе URL. Такая настройка удобна для администратора. Чтобы установить CGI-сценарий и сделать его доступным для пользователя, достаточно разместить соответствующий файл в каталоге /home/httpd/cgi-bin. При этом необходимо обратить внимание на права доступа к файлу. Поскольку сценарий предназначен для выполнения, для файла, содержащего код этого сценария, должен быть установлен соответствующий признак. Если вы написали сценарий самостоятельно или скопировали его с Web- или FTP-узла, то после размещения его в каталоге /home/httpd/cgi-bin надо выполнить команду chmod a+x имя_сценария.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Три режима выполнения сценариев WSH
Три режима выполнения сценариев WSH Для сценариев WSH можно задать один из трех режимов их выполнения:1. Режим безопасности отключен. Запускаются все сценарии, вне зависимости от того, имеется ли у этих сценариев цифровая подпись или нет.2. Средний уровень безопасности.
Примеры сценариев
Примеры сценариев Ниже подробно рассмотрены несколько завершенных сценариев, иллюстрирующих работу с файловой системой
Примеры сценариев
Примеры сценариев Начнем мы с того, что скопируем данные записной книжки из XML-файла book.xml в DBF-таблицу Phone.dbf (сценарий InsertRecords.js). Все остальные сценарии, которые рассматриваются в этой главе, будут работать уже с этой
Подписывание сценариев
Подписывание сценариев Для того чтобы подписать сценарий в Primalscript, нужно сначала выбрать нужный цифровой сертификат. Имя этого сертификата (Certificate) и, в случае необходимости, хранилище (Store), в котором он находится, указываются на вкладке WSH диалогового окна Options (пункт
Примеры Web-сценариев
Примеры Web-сценариев Язык JavaScript лучше всего изучать, имея перед глазами пару хороших примеров. Поэтому давайте сразу создадим
7.7. Безопасность сценариев
7.7. Безопасность сценариев Как мы уже говорили, сценарии являются очень опасными для Web-сервера (см. разд. 1.1.2). Через их ошибки происходило очень много громких взломов. Мы уже знаем, что необходимо отключить все интерпретаторы, которые не используются вами, и оставить
Поддержка форм и сценариев
Поддержка форм и сценариев Несмотря на то что статические данные часто используются на Web-узлах, типы информации, с которыми может работать Web-сервер, не исчерпываются ими. Многие Web-серверы динамически генерируют Web-страницы. Например, поисковые серверы позволяют
Создание CGI-сценариев
Создание CGI-сценариев Подобно другим сценариям, CGI-сценарии представляют собой программный код, предназначенный для выполнения. Данная глава не является руководством по написанию CGI-сценариев; в этом разделе приведены лишь некоторые общие рекомендации по работе с ними.
Примеры Web-сценариев
Примеры Web-сценариев Язык JavaScript лучше всего изучать, имея перед глазами пару хороших примеров. Поэтому давайте сразу создадим их. Простейший Web-сценарий Первый Web-сценарий, который мы напишем, будет совсем простым. Он выведет на Web-страницу текущую дату.В самом начале этой
Использование сценариев
Использование сценариев Иногда требуется одинаково обработать большое количество звуковых файлов. В программе Sound Forge есть средства для автоматизации таких задач. Это можно сделать с помощью сценариев, куда записывается последовательность действий при обработке
Редактор сценариев
Редактор сценариев Сценарии создаются и редактируются в специальном редакторе Script Editor (Редактор сценариев). Просмотрим код сценария и применим его к звуковому файлу.1. Выполните команду View ? Script Editor (Вид ? Редактор сценариев) – откроется окно Script Editor (Редактор сценариев)
I.1. Анализ сценариев
I.1. Анализ сценариев Просмотрите следующие сценарии. Попробуйте запустить их, затем объясните -- что они делают. Расставьте комментарии, затем попробуйте записать их в более компактном виде.#!/bin/bashMAX=10000 for((nr=1; nr<$MAX; nr++)) do let "t1 = nr % 5" if [ "$t1" -ne 3 ] then continue fi let "t2 = nr % 7"
I.2. Создание сценариев
I.2. Создание сценариев Напишите сценарии для выполнения повседневных задач.Простые заданияСодержимое домашнего каталогаВыполните рекурсивный обход домашнего каталога и сохраните информацию в файл. Сожмите файл. Попросите пользователя вставить дискету и нажать