Compartilhar via


Server Side Include <serverSideInclude>

Visão geral

O elemento <serverSideInclude> especifica se as diretivas de #exec de SSI (Server-Side Includes) do lado do servidor estão desabilitadas para os Serviços de Informações da Internet (IIS) 7.

Especificamente, o elemento <serverSideInclude> contém um único atributo: ssiExecDisable. Definir o atributo ssiExecDisable como true desabilitará a diretiva SSI #exec para o IIS 7, impedindo assim que os arquivos SSI executem programas, scripts ou comandos de shell no servidor.

Compatibilidade

Versão Observações
IIS 10.0 O elemento <serverSideInclude> não foi modificado no IIS 10.0.
IIS 8.5 O elemento <serverSideInclude> não foi modificado no IIS 8.5.
IIS 8.0 O elemento <serverSideInclude> não foi modificado no IIS 8.0.
IIS 7.5 O elemento <serverSideInclude> não foi modificado no IIS 7.5.
IIS 7.0 O elemento <serverSideInclude> foi introduzido no IIS 7.0.
IIS 6,0 O elemento <serverSideInclude> substitui a propriedade de metabase SSIExecDisable do IIS 6.0.

Observação

A diretiva cmd para #exec está desabilitada para arquivos SSI no IIS 7; você só pode usar a diretiva cgi. Por exemplo, você pode usar o seguinte comando com uma diretiva cgi:

<!--#exec cgi="/HITCOUNTER.EXE"-->

Mas você não pode mais usar o seguinte comando com uma diretiva cmd:

<!--#exec cmd="dir /b"-->

Se você tentar usar a diretiva cmd em arquivos SSI no IIS 7, você receberá a seguinte mensagem de erro:

A opção CMD não está habilitada para chamadas #EXEC

Instalação

O elemento <serverSideInclude> não está disponível na instalação padrão do IIS 7 e posteriores. Para instalar, use as etapas a seguir.

Windows Server 2012 R2 ou Windows Server 2012

  1. Na barra de tarefas, clique em Gerenciador do Servidor.
  2. No Gerenciador do Servidor, clique no menu Gerenciar e clique em Adicionar Funções e Recursos.
  3. No assistente Adicionar Funções e Recursos, clique em Avançar. Selecione o tipo de instalação e clique em Avançar. Selecione o servidor de destino e clique em Avançar.
  4. Na página Funções do Servidor, expanda Servidor Web (IIS), Servidor Web e Desenvolvimento de Aplicativos e, em seguida selecione Server Side Includes. Clique em Avançar.
    Screenshot of Server Side Includes selected under Application Development in an expanded Web Server (I I S) and Web Server lists. .
  5. Na página Selecionar Recursos, clique em Avançar.
  6. Na página Confirmar seleções de instalação, clique em Instalar.
  7. Na página Resultados , clique em Fechar.

Windows 8 ou Windows 8.1

  1. Na tela Iniciar, mova o ponteiro até o canto inferior esquerdo, clique com o botão direito do mouse no botão Iniciar e clique em Painel de Controle.
  2. Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar recursos do Windows.
  3. Expanda Serviços de Informações da Internet, Serviços da World Wide Web, Recursos de Desenvolvimento de Aplicativos e, em seguida, selecione Server Side Includes.
    Screenshot of Server Side Includes selected in a Windows 8 interface.
  4. Clique em OK.
  5. Clique em Fechar.

Windows Server 2008 R2 ou Windows Server 2008

  1. Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador do Servidor.
  2. No painel de hierarquia do Gerenciador do Servidor, expanda Funções e clique em Servidor Web (IIS).
  3. No painel Servidor Web (IIS), role até a seção Serviços de Função e clique em Adicionar Serviços de Função.
  4. Na página Selecionar Serviços de Função do Assistente para Adicionar Serviços de Função, selecione Server Side Includes e clique em Avançar.
    Screenshot of Server Side Includes selected under Application Development in an expanded Web Server list.
  5. Na página Confirmar Seleções de Instalação, clique em Instalar.
  6. Na página Resultados , clique em Fechar.

Windows Vista ou Windows 7

  1. Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
  2. Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar Recursos do Windows.
  3. Expanda Serviços de Informações da Internet, selecione Server Side Includes e clique em OK.
    Screenshot of Server Side Includes selected in a Windows Vista or Windows 7 interface.

Instruções

Não há interface de usuário para configurar o elemento <serverSideInclude> para IIS 7. Para obter exemplos de como configurar o elemento <serverSideInclude> programaticamente, confira a seção Exemplos de Código deste documento.

Configuração

Atributos

Atributo Descrição
ssiExecDisable Atributo booliano opcional.

Especifica se a diretiva SSI #exec está habilitada (false) ou desabilitada (true). Quando desabilitada, a diretiva não pode executar um comando de programa, script ou shell no servidor.

O valor padrão é false.

Elementos filho

Nenhum.

Exemplo de configuração

O exemplo de configuração a seguir desabilita o comando #exec para arquivos SSI no Site Padrão.

<location path="Default Web Site">
   <system.webServer>
      <serverSideInclude ssiExecDisable="true" />
   </system.webServer>
</location>

Exemplo de código

O exemplo de configuração a seguir desabilita o comando #exec para arquivos SSI no Site Padrão.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/serverSideInclude /ssiExecDisable:"True" /commit:apphost

Observação

Defina o parâmetro commit para apphost quando usar AppCmd.exe para definir essas configurações. Isso confirma as definições de configuração para a seção de local apropriado no arquivo ApplicationHost.config.

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();

         ConfigurationSection serverSideIncludeSection = config.GetSection("system.webServer/serverSideInclude", "Default Web Site");
         serverSideIncludeSection["ssiExecDisable"] = true;

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration

      Dim serverSideIncludeSection As ConfigurationSection = config.GetSection("system.webServer/serverSideInclude", "Default Web Site")
      serverSideIncludeSection("ssiExecDisable") = True

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var serverSideIncludeSection = adminManager.GetAdminSection("system.webServer/serverSideInclude", "MACHINE/WEBROOT/APPHOST/Default Web Site");
serverSideIncludeSection.Properties.Item("ssiExecDisable").Value = true;

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set serverSideIncludeSection = adminManager.GetAdminSection("system.webServer/serverSideInclude", "MACHINE/WEBROOT/APPHOST/Default Web Site")
serverSideIncludeSection.Properties.Item("ssiExecDisable").Value = True

adminManager.CommitChanges()