Partager via


Ajout de restrictions ISAPI/CGI <add>

Vue d’ensemble

L’élément <add> de la collection <isapiCgiRestriction> vous permet de spécifier individuellement les applications CGI (Common Gateway Interface) et ISAPI (Internet Server Application Programming Interface) qui peuvent s’exécuter sur Internet Information Services (IIS) 7.

Compatibilité

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

Programme d’installation

La collection <isapiCgiRestriction> est disponible uniquement si vous avez installé les modules CGI ou Extensions ISAPI sur votre serveur IIS 7 ou ultérieur. Vous ne pouvez pas l’installer indépendamment de ces fonctionnalités.

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 serveur, développez tour à tour Serveur web (IIS), Serveur web et Développement d’applications, puis sélectionnez CGI ou Extensions ISAPI. Sélectionnez Suivant.
    Screenshot of the I S A P I Extensions option being highlighted and selected. .
  5. Dans la page Sélectionner les composants, 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 CGI ou Extensions ISAPI.
    Screenshot of the I S A P I folder being selected and highlighted.
  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 la 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 CGI ou Extensions ISAPI.
    Screenshot of the Select Role Services wizard showing the I S A P I Extensions option being highlighted and selected.
  5. Si la boîte de dialogue Ajouter des services de rôle s’affiche, cliquez sur Ajouter les services de rôle requis. (Cette page s’affiche uniquement si vous n’avez pas déjà installé les services de rôle requis sur votre serveur.)
  6. Dans la page Sélectionner des services de rôle, cliquez sur Suivant.
  7. Dans la page Confirmer les sélections pour l'installation, cliquez sur Installer.
  8. 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. Dans la boîte de dialogue Fonctionnalités Windows, développez tour à tour Internet Information Services, Services World Wide Web et Fonctionnalités de développement d’applications.
  4. Sélectionnez CGI ou Extensions ISAPI, puis cliquez sur OK.
    Screenshot of the C G I and I S A P I Extensions folders being selected.

Procédure

Ajouter une restriction ISAPI ou CGI

  1. Ouvrez le Gestionnaire Internet Information Services (IIS) :

    • Si vous utilisez Windows Server 2012 ou Windows Server 2012 R2 :

      • Dans la barre des tâches, cliquez sur Gestionnaire de serveur, cliquez sur Outils, puis cliquez sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows 8 ou Windows 8.1 :

      • Maintenez la touche Windows enfoncée, appuyez sur la lettre X, puis cliquez sur Panneau de configuration.
      • Cliquez sur Outils d’administration, puis double-cliquez sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez 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 Internet Information Services (IIS).
    • Si vous utilisez Windows Vista ou Windows 7 :

      • Dans la barre des tâches, cliquez sur Démarrer, puis cliquez sur Panneau de configuration.
      • Double-cliquez sur Outils d’administration, puis double-cliquez sur Gestionnaire Internet Information Services (IIS).
  2. Dans le volet Connexions, cliquez sur le nom du serveur.

  3. Dans le volet Accueil, double-cliquez sur Restrictions ISAPI et CGI.
    Screenshot of the SERVER Home pane with the I S A P I and C G I Restrictions option being highlighted.

  4. Dans le volet Actions, cliquez sur Ajouter...

  5. Dans la boîte de dialogue Ajouter une restriction ISAPI ou CGI, entrez le chemin du binaire que vous souhaitez ajouter dans le champ Chemin ISAPI ou CGI, entrez la description du binaire dans le champ Description, cochez la case Autoriser l’exécution du chemin de l’extension pour autoriser l’exécution du binaire sur le serveur, puis cliquez sur OK.
    Screenshot of the Add I S A P I or C G I Restriction dialog box.

Configuration

La collection <isapiCgiRestriction> peut uniquement être configurée au niveau du serveur dans le fichier ApplicationHost.config.

Attributs

Attribut Description
allowed Attribut booléen obligatoire.

Spécifie si la restriction autorise ou refuse l’exécution d’un module CGI ou ISAPI sur le serveur.

Consultez la section Configuration par défaut plus loin dans cette rubrique pour avoir la liste complète des valeurs par défaut.
Description Attribut de chaîne facultatif.

Spécifie la description conviviale du groupe associé à ce groupID.

Consultez la section Configuration par défaut plus loin dans cette rubrique pour avoir la liste complète des valeurs par défaut.
groupId Attribut de chaîne facultatif.

Spécifie le groupID de l’application qui a une dépendance sur une restriction d’extension.

Consultez la section Configuration par défaut plus loin dans cette rubrique pour avoir la liste complète des valeurs par défaut.
path Attribut de chaîne requis.

Spécifie le chemin du module CGI ou ISAPI dans le système de fichiers du serveur.

Consultez la section Configuration par défaut plus loin dans cette rubrique pour avoir la liste complète des valeurs par défaut.

Éléments enfants

Aucune.

Exemple Configuration

L’exemple de configuration suivant configure l’élément <isapiCgiRestriction> pour IIS 7.0 après l’installation d’ASP et d’ASP.NET version 2.0.

<isapiCgiRestriction>
   <add allowed="true" groupId="ASP"
      path="%windir%\system32\inetsrv\asp.dll"
      description="Active Server Pages" />
   <add allowed="true" groupId="ASP.NET v2.0.50727"
      path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll"
      description="ASP.NET v2.0.50727" />
</isapiCgiRestriction>

Exemple de code

Les exemples suivants ajoutent une restriction ISAPI/CGI pour une extension ISAPI personnalisée qui est située dans le dossier content pour un site web à l’emplacement C:\Inetpub\www.contoso.com\wwwroot. Les exemples spécifient le nom, le chemin et le groupe de l’extension ISAPI, et activent l’extension.

AppCmd.exe

appcmd.exe set config -section:system.webServer/security/isapiCgiRestriction /+"[path='C:\Inetpub\www.contoso.com\wwwroot\isapi\custom.dll',allowed='True',groupId='ContosoGroup',description='Contoso Extension']" /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 location 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 isapiCgiRestrictionSection = config.GetSection("system.webServer/security/isapiCgiRestriction");
         ConfigurationElementCollection isapiCgiRestrictionCollection = isapiCgiRestrictionSection.GetCollection();

         ConfigurationElement addElement = isapiCgiRestrictionCollection.CreateElement("add");
         addElement["path"] = @"C:\Inetpub\www.contoso.com\wwwroot\isapi\custom.dll";
         addElement["allowed"] = true;
         addElement["groupId"] = @"ContosoGroup";
         addElement["description"] = @"Contoso Extension";
         isapiCgiRestrictionCollection.Add(addElement);

         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 isapiCgiRestrictionSection As ConfigurationSection = config.GetSection("system.webServer/security/isapiCgiRestriction")
      Dim isapiCgiRestrictionCollection As ConfigurationElementCollection = isapiCgiRestrictionSection.GetCollection

      Dim addElement As ConfigurationElement = isapiCgiRestrictionCollection.CreateElement("add")
      addElement("path") = "C:\Inetpub\www.contoso.com\wwwroot\isapi\custom.dll"
      addElement("allowed") = True
      addElement("groupId") = "ContosoGroup"
      addElement("description") = "Contoso Extension"
      isapiCgiRestrictionCollection.Add(addElement)

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var isapiCgiRestrictionSection = adminManager.GetAdminSection("system.webServer/security/isapiCgiRestriction", "MACHINE/WEBROOT/APPHOST");
var isapiCgiRestrictionCollection = isapiCgiRestrictionSection.Collection;

var addElement = isapiCgiRestrictionCollection.CreateNewElement("add");
addElement.Properties.Item("path").Value = "C:\\Inetpub\\www.contoso.com\\wwwroot\\isapi\\custom.dll";
addElement.Properties.Item("allowed").Value = true;
addElement.Properties.Item("groupId").Value = "ContosoGroup";
addElement.Properties.Item("description").Value = "Contoso Extension";
isapiCgiRestrictionCollection.AddElement(addElement);

adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set isapiCgiRestrictionSection = adminManager.GetAdminSection("system.webServer/security/isapiCgiRestriction", "MACHINE/WEBROOT/APPHOST")
Set isapiCgiRestrictionCollection = isapiCgiRestrictionSection.Collection

Set addElement = isapiCgiRestrictionCollection.CreateNewElement("add")
addElement.Properties.Item("path").Value = "C:\Inetpub\www.contoso.com\wwwroot\isapi\custom.dll"
addElement.Properties.Item("allowed").Value = True
addElement.Properties.Item("groupId").Value = "ContosoGroup"
addElement.Properties.Item("description").Value = "Contoso Extension"
isapiCgiRestrictionCollection.AddElement(addElement)

adminManager.CommitChanges()