Partager via


SSI (Server-Side Includes) <serverSideInclude>

Vue d’ensemble

L’élément <serverSideInclude> spécifie si les directives SSI (Server-Side Includes) #exec sont désactivées pour les services Internet Information Services (IIS) 7.

Plus précisément, l’élément <serverSideInclude> contient un seul attribut : ssiExecDisable. La définition de l’attribut ssiExecDisable sur true désactive la directive SSI #exec pour IIS 7, empêchant ainsi les fichiers SSI d’exécuter des programmes, des scripts ou des commandes shell sur le serveur.

Compatibilité

Version Notes
IIS 10.0 L’élément <serverSideInclude> n’a fait l’objet d’aucune modification dans IIS 10.0.
IIS 8.5 L’élément <serverSideInclude> n’a fait l’objet d’aucune modification dans IIS 8.5.
IIS 8.0 L’élément <serverSideInclude> n’a fait l’objet d’aucune modification dans IIS 8.0.
IIS 7.5 L’élément <serverSideInclude> n’a fait l’objet d’aucune modification dans IIS 7.5.
IIS 7.0 L’élément <serverSideInclude> a été introduit dans IIS 7.0.
IIS 6.0 L’élément <serverSideInclude> remplace la propriété de métabase SSIExecDisable IIS 6.0.

Remarque

La directive cmd pour #exec est désactivée pour les fichiers SSI dans IIS 7 ; seule la directive cgi est disponible. Par exemple, vous pouvez utiliser la commande suivante avec une directive cgi :

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

Toutefois, vous ne pouvez plus utiliser la commande suivante avec une directive cmd :

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

Si vous tentez d’utiliser la directive cmd dans des fichiers SSI sur IIS 7, vous recevrez le message d’erreur suivant :

L’option CMD n’est pas activée pour les appels #EXEC

Programme d’installation

L’élément <serverSideInclude> n’est pas fourni dans l’installation par défaut d’IIS 7 et versions ultérieures. Pour l’installer, effectuez les étapes suivantes.

Windows Server 2012 ou Windows Server 2012 R2

  1. Dans la barre des tâches, cliquez sur Gestionnaire de serveur.
  2. Dans le Gestionnaire de serveur, cliquez sur le menu Gérer, puis cliquez sur Ajouter des rôles et des fonctionnalités.
  3. Dans l’Assistant Ajout de rôles et de fonctionnalités, cliquez sur Suivant. Sélectionnez le type d’installation, puis cliquez sur Suivant. Sélectionnez le serveur de destination, puis cliquez sur Suivant.
  4. Dans la page Rôles de serveur, développez tour à tour Serveur web (IIS), Serveur web et Développement d’applications, puis sélectionnez SSI (Server-Side Includes). Sélectionnez Suivant.
    Screenshot of Server Side Includes selected under Application Development in an expanded Web Server (I I S) and Web Server lists. .
  5. Dans la page Sélectionner des fonctionnalités, cliquez sur Suivant.
  6. Dans la page Confirmer les sélections d’installation, cliquez sur Installer.
  7. Dans la page Résultats , cliquez sur Fermer.

Windows 8 ou Windows 8.1

  1. Dans l’écran d’accueil, déplacez le pointeur jusqu’au coin inférieur gauche, cliquez avec le bouton droit sur le bouton Démarrer, puis cliquez sur Panneau de configuration.
  2. Dans le Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis cliquez sur Activer ou désactiver des fonctionnalités Windows.
  3. Développez tour à tour Internet Information Services, Services World Wide Web et Fonctionnalités de développement d’applications, puis sélectionnez SSI (Server-Side Includes).
    Screenshot of Server Side Includes selected in a Windows 8 interface.
  4. Cliquez sur OK.
  5. Cliquez sur Fermer.

Windows Server 2008 ou Windows Server 2008 R2

  1. Dans la barre des tâches, cliquez sur Démarrer, pointez sur Outils d’administration, puis cliquez sur Gestionnaire de serveur.
  2. Dans le volet de hiérarchie du Gestionnaire de serveur, développez Rôles, puis cliquez sur Serveur web (IIS).
  3. Dans le volet Serveur web (IIS), faites défiler le contenu jusqu’à la section Services de rôle, puis cliquez sur Ajouter des services de rôle.
  4. Dans la page Sélectionner des services de rôle de l’Assistant Ajout de services de rôle, sélectionnez SSI (Server-Side Includes), puis cliquez sur Suivant.
    Screenshot of Server Side Includes selected under Application Development in an expanded Web Server list.
  5. Dans la page Confirmer les sélections pour l'installation, cliquez sur Installer.
  6. Dans la page Résultats , cliquez sur Fermer.

Windows Vista ou Windows 7

  1. Dans la barre des tâches, cliquez sur Démarrer, puis cliquez sur Panneau de configuration.
  2. Dans le Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis cliquez sur Activer ou désactiver des fonctionnalités Windows.
  3. Développez Internet Information Services, sélectionnez SSI (Server-Side Includes), puis cliquez sur OK.
    Screenshot of Server Side Includes selected in a Windows Vista or Windows 7 interface.

Procédure

Il n’existe pas d’interface utilisateur vous permettant de configurer l’élément <serverSideInclude> pour IIS 7. Pour obtenir des exemples sur la façon de configurer l’élément <serverSideInclude> programmatiquement, consultez la section Exemples de code de ce document.

Configuration

Attributs

Attribut Description
ssiExecDisable Attribut booléen facultatif.

Spécifie si la directive SSI #exec est activée (false) ou désactivée (true). Quand elle est désactivée, la directive ne peut pas exécuter de programme, de script ou de commande shell sur le serveur.

La valeur par défaut est false.

Éléments enfants

Aucune.

Exemple Configuration

L’exemple de configuration suivant désactive la commande #exec pour les fichiers SSI sur le site web par défaut.

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

Exemple de code

Les exemples de code suivants désactivent la commande #exec pour les fichiers SSI sur le site web par défaut.

AppCmd.exe

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

Remarque

Veillez à définir le paramètre commit sur apphost quand vous utilisez AppCmd.exe pour configurer ces paramètres. Cela valide les paramètres de configuration dans la section d’emplacement appropriée dans le fichier 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()