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
- Dans la barre des tâches, cliquez sur Gestionnaire de serveur.
- Dans le Gestionnaire de serveur, cliquez sur le menu Gérer, puis cliquez sur Ajouter des rôles et des fonctionnalités.
- 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.
- 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.
. - Dans la page Sélectionner des fonctionnalités, cliquez sur Suivant.
- Dans la page Confirmer les sélections d’installation, cliquez sur Installer.
- Dans la page Résultats , cliquez sur Fermer.
Windows 8 ou Windows 8.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.
- Dans le Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis cliquez sur Activer ou désactiver des fonctionnalités Windows.
- 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).
- Cliquez sur OK.
- Cliquez sur Fermer.
Windows Server 2008 ou Windows Server 2008 R2
- Dans la barre des tâches, cliquez sur Démarrer, pointez sur Outils d’administration, puis cliquez sur Gestionnaire de serveur.
- Dans le volet de hiérarchie du Gestionnaire de serveur, développez Rôles, puis cliquez sur Serveur web (IIS).
- 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.
- 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.
- Dans la page Confirmer les sélections pour l'installation, cliquez sur Installer.
- Dans la page Résultats , cliquez sur Fermer.
Windows Vista ou Windows 7
- Dans la barre des tâches, cliquez sur Démarrer, puis cliquez sur Panneau de configuration.
- Dans le Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis cliquez sur Activer ou désactiver des fonctionnalités Windows.
- Développez Internet Information Services, sélectionnez SSI (Server-Side Includes), puis cliquez sur OK.
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()