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
- 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 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.
.
- Dans la page Sélectionner les composants, 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 CGI ou Extensions ISAPI.
- 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 la 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 CGI ou Extensions ISAPI.
- 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.)
- Dans la page Sélectionner des services de rôle, 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.
- 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.
- Sélectionnez CGI ou Extensions ISAPI, puis cliquez sur OK.
Procédure
Ajouter une restriction ISAPI ou CGI
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).
Dans le volet Connexions, cliquez sur le nom du serveur.
Dans le volet Accueil, double-cliquez sur Restrictions ISAPI et CGI.
Dans le volet Actions, cliquez sur Ajouter...
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.
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()
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour