Help and Support

Comment faire pour empêcher l'exécution d'un contrôle ActiveX dans Internet Explorer

Numéro d'article:240797
Dernière mise à jour:vendredi 24 août 2007
Version:9.3
Important Cet article contient des informations sur la modification du Registre. Avant de modifier le Registre, pensez à le sauvegarder. Assurez-vous de savoir comment restaurer le Registre en cas de problème. Pour plus d'informations sur la façon de sauvegarder, restaurer et modifier le Registre, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
256986 (http://support.microsoft.com/kb/256986/) Description du Registre de Microsoft Windows

Résumé

Cet article explique comment empêcher l'exécution d'un contrôle ActiveX dans Microsoft Internet Explorer et dans Windows Internet Explorer. Vous pouvez pour cela modifier la valeur de données de la valeur DWORD Compatibility Flags pour l'identificateur de classe (CLSID, Class Identifier) du contrôle ActiveX.

Remarque Pour les ordinateurs Windows XP et Windows Server 2003, les administrateurs peuvent utiliser des stratégies de restriction logicielle afin d'empêcher l'exécution d'un contrôle ActiveX dans les programmes installés sur les ordinateurs dans un environnement de domaine Active Directory. Pour plus d'informations sur les stratégies de restriction logicielle, reportez-vous au site Web de Microsoft à l'adresse suivante :
http://technet.microsoft.com/en-us/library/bb457006.aspx (en anglais) (http://technet.microsoft.com/en-us/library/bb457006.aspx)

Retour au début

Plus d'informations

Avertissement Des problèmes sérieux peuvent se produire si vous modifiez le Registre de façon incorrecte à l'aide de l'Éditeur du Registre ou toute autre méthode. Ces problèmes peuvent nécessiter la réinstallation du système d'exploitation. Microsoft ne peut pas garantir que ces problèmes puissent être résolus. Vous assumez l'ensemble des risques liés à la modification du Registre.

Avertissement Microsoft ne recommande pas d'annuler l'arrêt de l'exécution d'un contrôle ActiveX. En effet, cela risque d'engendrer des vulnérabilités en terme de sécurité. Le bit d'arrêt (ou kill bit) est généralement défini pour une raison critique ; c'est pour cela, qu'une attention particulière est nécessaire pour annuler l'arrêt d'exécution d'un contrle ActiveX. De plus, la procédure ci-dessous est très technique. Par conséquent, vous ne devez l'utiliser que si vous la maîtrisez. Enfin, il est conseillé de la lire dans son intégralité avant de commencer.

Le CLSID d'un contrôle ActiveX est l'identificateur unique global (GUID, Globally Unique Identifier) du contrôle. Vous pouvez empêcher l'exécution d'un contrôle ActiveX dans Internet Explorer en définissant le bit d'arrêt de sorte que le contrôle ne soit jamais appelé par Internet Explorer lorsque les paramètres par défaut sont utilisés.

Le bit d'arrêt est une valeur particulière pour la valeur DWORD de Compatibility Flags pour le contrôle ActiveX dans le Registre. Cette opération est différente de la révocation de l'option "sûr pour l'écriture de script" d'un contrôle ActiveX. Lorsque cette option est révoquée, Internet Explorer continue d'appeler le contrôle et vous demande, par le biais d'un message d'avertissement vous indiquant que le contrôle ActiveX n'est peut-être pas fiable, si vous voulez l'exécuter. Suivant la réponse que vous donnez, le contrôle est exécuté ou non. Notez toutefois qu'après la définition du bit d'arrêt pour un contrôle ActiveX, celui-ci ne sera plus appelé par Internet Explorer du tout, à moins que l'option Contrôles d'initialisation et de script ActiveX non marqués comme sécurisés soit activée dans Internet Explorer. Pour définir le bit d'arrêt, procédez comme suit :
1.Déterminez le CLSID du contrôle ActiveX que vous voulez désactiver. En cas de doutes, contactez le fabricant. Si le contrôle est installé, vous êtes en mesure de déterminer son CLSID si vous connaissez son nom convivial. Pour cela, regardez la valeur de chaîne Default de la clé ProgID pour chaque clé CLSID dans HKEY_CLASSES_ROOT\CLSID. Vous devrez peut-être supprimer un maximum de contrôles ActiveX, excepté celui que vous voulez désactiver, pour identifier plus facilement le CLSID approprié. Pour plus d'informations sur la façon de supprimer des contrôles ActiveX, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
154850 (http://support.microsoft.com/kb/154850/) Comment faire pour supprimer un contrôle ActiveX dans Windows
2.Utilisez l'Éditeur du Registre pour afficher la valeur de données de la valeur DWORD de Compatibility Flags pour le CLSID de l'objet ActiveX dans la clé de Registre suivante :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\CLSID_contrôle_ActiveX
CLSID_contrôle_ActiveX correspond à l'identificateur de classe du contrôle ActiveX approprié.

Remarques
?En règle générale, vous devrez créer manuellement cette clé de Registre.
?Pour déterminer le CLSID correspondant au contrôle ActiveX que vous voulez désactiver, supprimez tous les contrôles ActiveX déjà installés, installez le contrôle à désactiver, puis ajoutez le bit d'arrêt à son CLSID.
3.Modifiez la valeur DWORD Compatibility Flags en 0x00000400.
Si un bit d'arrêt est défini pour un contrôle ActiveX et qu'une nouvelle version du contrôle est publiée avec un CLSID différent, vous pouvez configurer les sites Web qui utilisent l'ancien CLSID pour qu'ils continuent à fonctionner comme prévu. Pour cela, vous devez ajouter la nouvelle valeur au même niveau que la valeur Compatibility Flags dans le Registre. Cette valeur doit être une chaîne REG_SZ nommée « AlternateCLSID ». La valeur AlternateCLSID sera affichée entre accolades. Par exemple, la valeur peut ressembler à ceci :
{ABCDEF12-ABCD-ABCD-ABCD-ABCDEF123456}
Internet Explorer interprètera cette valeur et créera une instance du contrôle ActiveX référencée dans la valeur AlternateCLSID plutôt que dans la valeur qui a reçu un bit d'arrêt.

Remarque Pour que la valeur AlternateCLSID soit valide, le bit d'arrêt doit être défini sur le CLSID d'origine.

Retour au début

Pour qu'Internet Explorer vérifie si un contrôle ActiveX mis à jour à été fourni pour remplacer un contrôle ActiveX désactivé, les développeurs de contrôles ActiveX peuvent utiliser les valeurs de Registre TreatAs ou AlternateCLSID avec le « bit d'arrêt ». Pour plus d'informations sur la façon d'utiliser la valeur TreatAs, reportez-vous au site Web de Microsoft à l'adresse suivante :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/com/html/1d7a1677-738a-4258-9afc-e77bd0dcf40f.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/com/html/1d7a1677-738a-4258-9afc-e77bd0dcf40f.asp)(En Anglais)
Pour définir la valeur AlternateCLSID, procédez comme suit :
1.Utilisez l'Éditeur du Registre pour rechercher le CLSID de l'objet ActiveX désactivé dans la clé de Registre suivante :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\CLSID_contrôle_ActiveX
CLSID_contrôle_ActiveX correspond à l'identificateur de classe du contrôle ActiveX approprié.

Vous pouvez constater que la valeur de Compatibility Flags est définie à DWORD 00000400.
2.Ajoutez une valeur de chaîne AlternateCLSID à la clé CLSID.
3.Définissez les données de la valeur de chaîne AlternateCLSID à {CLSID du contrôle ActiveX de remplacement}, où {CLSID du contrôle ActiveX de remplacement} correspond à l'identificateur de classe du contrôle ActiveX mis à jour.
La valeur AlternateCLSID indique à Internet Explorer qu'il doit effectuer une redirection vers le CLSID du contrôle ActiveX mis à jour. Vous pouvez enchaîner les redirections jusqu'à dix niveaux de profondeur.

La valeur AlternateCLSID est prise en charge dans les versions suivantes d'Internet Explorer :
?Internet Explorer 5.01 avec Service Pack 2 installé ou version ultérieure pour Windows 2000 avec MS03-004 installé ou version ultérieure
?Internet Explorer 5.5 avec Service Pack 2 installé avec MS02-068 ou version ultérieure
?Internet Explorer 6 avec Service Pack 1 installé
?Internet Explorer 6 pour Windows avec MS02-068 ou version ultérieure installé
?Internet Explorer 6 pour Windows Server 2003
Remarque Les versions d'Internet Explorer qui ne sont pas répertoriées dans cet article sont dans la phase prolongée du cycle de vie du produit ou ne sont plus prises en charge. Bien qu'il soit possible de définir un bit d'arrêt sur ces versions de Windows et d'Internet Explorer, Microsoft vous recommande également d'effectuer une mise à niveau vers une version prise en charge d'Internet Explorer et d'appliquer les mises à jour appropriées. Pour plus d'informations sur la façon de déterminer la version d'Internet Explorer, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
164539 (http://support.microsoft.com/kb/164539/) Comment faire pour déterminer la version d'Internet Explorer installée

Retour au début


Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
?Microsoft Internet Explorer 5.01 Service Pack 2
?Microsoft Internet Explorer 5.01 Service Pack 3
?Microsoft Internet Explorer 5.01 SP4
?Microsoft Internet Explorer 5.5
?Microsoft Internet Explorer 6.0
?Microsoft Internet Explorer 6.0 Service Pack 1
?Windows Internet Explorer 7 for Windows Server 2003 IA64
?Windows Internet Explorer 7 for Windows XP
?Windows Internet Explorer 7 for Windows Server 2003

Retour au début

Mots-clés : 
kbhowto kbenv KB240797

Retour au début

L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Traductions disponibles

 

Other Support Options

  • Need More Help?
    Contact a Support professional by Email, Online or Phone.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.