IIS - Использование директив включений на стороне сервера

SSI также предлагают директивы для вставки в веб-страницу информации, выводимой приложением или командой оболочки.

2020.09.18              


Директивы включений на стороне сервера (SSI) дают команды веб-серверу включить текст, графику или приложения в веб-страницу непосредственно перед отправкой ее обозревателю. SSI предоставляют специальные директивы препроцессора, позволяющие получить сведения о файле или вывести значение переменной CGI. SSI также предлагают директивы для вставки в веб-страницу информации, выводимой приложением или командой оболочки.

Включение файлов

Чтобы включить файл, воспользуйтесь директивой #include. Например, чтобы вставить в веб-страницу файл с именем Copyright.inc в тот момент, когда она будет запрошена, используйте следующую директиву:

<!-- #include file="copyright.inc" -->

В этом примере файл Copyright.inc должен находиться в том же каталоге, что и файл-приемник. Файл, содержащий директиву #include, должен быть опубликован на веб-узле. Включаемые файлы могут иметь любое расширение, но удобно давать им расширение, отличающее их от других файлов.

Чтобы указать местоположение включаемого файла с помощью пути относительно текущего каталога, используйте аргумент file. Например, если файл-приемник находится в каталоге Documents, а включаемый файл — в подкаталоге Documents\Common, то директива будет выглядеть так:

<!-- #include file="common\copyright.inc" -->

При работе с документами на веб-узле может возникнуть необходимость в сохранении совместно используемых файлов в специальном виртуальном каталоге. Чтобы указать местоположение включаемого файла с помощью полного виртуального пути, используйте аргумент virtual. Например, для включения файла из виртуального каталога /Common служит следующая директива:

<!-- #include virtual="/common/copyright.inc" -->

Важно! Директива #include обрабатывается во время компиляции, а не во время выполнения. Поэтому нельзя использовать эту директиву в процедурах клиентской стороны.

Включение информации, выводимой приложениями

Кроме простого включения содержимого файла, с помощью директив SSI можно запустить приложение или команду оболочки и включить выводимую ими информацию в веб-страницу. Для запуска приложения или команды оболочки служит директива #exec. Приложение может быть программой CGI, приложением ASP или ISAPI-расширением.

Например:

<!-- #exec cgi="/scripts/guestbook.exe?FirstName+LastName" -->

Путь к приложению должен быть полным виртуальным путем или URL-адресом. Чтобы передать приложению параметры, поставьте после имени файла приложения знак вопроса (?) и перечислите параметры, разделяя их знаком плюс (+).

Осторожно! Разрешая обычным файлам Интернета запускать приложения, вы подвергаете систему риску нарушения безопасности. Вы можете отключить директиву #exec, не запрещая веб-страницам пользоваться другими директивами SSI.