Select the product you need help with
SafeCtl.exe implémente IObjectSafety dans le contrôle ActiveXNuméro d'article: 164119 - Voir les produits auxquels s'applique cet article SommaireRésuméL'exemple SafeCtl.exe montre comment modifier un contrôle ActiveX MFC pour indiquer qui a publié le code et indique si un contrôle a été falsifié. L'exemple peut vous aider à identifier si le contrôle est sécurisé pour l'écriture de scripts et pour l'initialisation. Plus d'informationsLe fichier suivant est disponible au téléchargement à partir du centre de téléchargement Microsoft : SafeCtl.exe Pour plus d'informations sur la façon de télécharger des fichiers de support technique Microsoft, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
(http://download.microsoft.com/download/vc50pro/safectl/1/win98/en-us/safectl.exe)
119591 Microsoft a analysé ce fichier pour les virus. Microsoft utilisé les logiciels de détection de virus les plus récentes ne sont associé à la date à laquelle le fichier a été validé. Le fichier est stocké sur des serveurs sécurisés qui empêchent toute modification non autorisée dans le fichier.
(http://support.microsoft.com/kb/119591/
)
Comment faire pour obtenir des fichiers de prise en charge de Microsoft à partir de services en ligne Dans Internet Explorer 3.0 et versions ultérieures, les utilisateurs peuvent ajouter du code sous forme de contrôles ActiveX à leurs pages Web. La balise <object>permet de spécifier un contrôle. Après avoir créé une instance du contrôle, ses attributs peuvent être définis par l'intermédiaire d'interfaces de persistance du contrôle. Par exemple, pour chaque balise <param>Internet Explorer rencontre dans le contexte d'une balise <object>lors de l'analyse une page HTML, Internet Explorer transmet un sac de propriétés par le biais du contrôle correspondantInterface IPersistPropertyBag. En outre, il est possible de personnaliser le comportement d'un contrôle à l'aide de scripts incorporés dans la page qui exécutent les méthodes et de modifier les propriétés exposées par le biais de l'interface automation du contrôle. Code Authenticode signature technologie permet aux utilisateurs finaux pour identifier qui a publié le code et vérifiez que personne n'a falsifié ce code depuis sa signature. Elle ne garantit pas que le code est sûr lorsque ses propriétés sont initialisées avec les valeurs non approuvés ou lorsque son modèle d'automation est piloté par les scripts non fiables. Pour éviter cette garantie potentielle dangers, les paramètres de sécurité de Internet Explorer par défaut qui sont accessibles via l'onglet sécurité Internet Explorer Options propriété de la feuille, exiger qu'un contrôle enregistrez lui-même comme mise en ?uvre les catégories de composant approprié ou que le contrôle implémente l'interface IObjectSafety. L'exemple illustre les deux. Avant de définir les propriétés d'un contrôle incorporé dans une page HTML, Internet Explorer demande le contrôle IObjectSafety. Si la prise en charge, Internet Explorer appelle ensuite la SetInterfaceSafetyOptions méthode sur cette interface, en passant la valeur INTERFACESAFE_FOR_UNTRUSTED_DATA ainsi que l'identificateur d'interface (IID) d'une interface de persistance. Sur les pages HTML aujourd'hui, où les propriétés ont tendance à être initialisées via la balise <param>, l'IID est IID_IPersistPropertyBag. L'IID est fourni pour les situations où vous souhaitez pourriez être de protéger la sécurité sur certaines interfaces, mais pas sur d'autres utilisateurs et dans cet exemple n'est pas important. L'exemple d'implémentation vérifie que l'interface est prise en charge. Le contrôle peut faire aucun dommage pour le système du client, sans tenir compte des données avec lequel il peut être initialisé via cette interface de persistance et cette interface de persistance est pris en charge, mise en oeuvre du contrôle de laMéthode IObjectSafety::SetInterfaceSafetyOptions doit renvoyer S_OK. Dans le cas contraire, E_FAIL doit être retourné. Avant d'autoriser tous les scripts incorporés dans la page à exécuter, Internet Explorer appelle de la même façon par le biais du contrôle IObjectSafety:: SetInterfaceSafetyOptions méthode mais au lieu de cela passe la valeur INTERFACESAFE_FOR_UNTRUSTED_CALLER et l'IID de quelques scripts d'interface, qui est généralement IID_IDispatch. Le contrôle doit renvoyer S_OK ou E_FAIL correctement. Si le contrôle ne prend pas en charge IObjectSafety, Internet Explorer utilise le Gestionnaire de catégories de composant pour voir si le contrôle implémente la catégorie «sûrs pour l'initialisation», CATID_SafeForInitializing et la catégorie «sûrs pour l'écriture de scripts», CATID_SafeForScripting, respectivement. Si le contrôle ne prend pas en charge IObjectSafety et se n'est pas inscrit comme mise en ?uvre les catégories de composant approprié, et si le niveau de sécurité Internet Explorer est défini sur élevé, la valeur par défaut, Internet Explorer risque de ne pas s'initialiser les propriétés du contrôle, ni exécutera tous les scripts incorporés dans la page. Dans ce scénario, les utilisateurs finaux s'afficher une boîte de dialogue qui contient le texte suivant : Voici une liste des lignes directrices qui sont prises à partir de l'article Johns de le Paul, «signature et marque contrôles ActiveX:»
Signature et marque les contrôles ActiveX Si un auteur de contrôle a vérifié que les critères ci-dessus sont remplies à d'autres qui, selon eux de, ils tenez prenant en charge les deux IObjectSafety et enregistrer leur contrôle en tant que mise en ?uvre les catégories de composant approprié. Pour obtenir la liste des avantages et inconvénients de chacune de ces méthodes, consultez la section correspondante dans article Johns de le Paul, «Signature et marque les contrôles ActiveX». http://msdn2.microsoft.com/en-us/library/ms974305.aspx
(http://msdn2.microsoft.com/en-us/library/ms974305.aspx)
Pour compilerCréation de l'exemple nécessite Microsoft Visual C++ 5.0 ou Microsoft Visual C++ 6.0. Après avoir extrait les fichiers à partir de l'archive, chargez le projet Safectl.mdp dans Microsoft Developer Studio et générez le projet. Dans le cadre du processus de génération, le contrôle doit inscrire lui-même.Avertissement Avant de modifier l'échantillon en utilisant les symboles de préprocesseur deux répertoriés plus loin dans cette section, vous devez annuler l'inscription du contrôle si a déjà été créé ou enregistré sur l'ordinateur. Pour ce faire, exécutez regsvr32.exe avec le commutateur /u pour votre contrôle. Vous pouvez également ajouter une entrée de l'outil personnalisé dans Developer Studio fera pour le projet en cours. Dans le menu Outils, cliquez sur Personnaliser, puis sur l'onglet Outils. créer une nouvelle entrée avec les informations suivantes :
Name: &Un-register ActiveX Control
Command: e:\Program Files\DevStudio\SharedIDE\BIN\REGSVR32.EXE
Arguments: /u /v "$(TargetPath)"
Initial Directory: $(TargetDir)
Pour créer le contrôle afin qu'elle s'inscrit comme mise en ?uvre la «sûrs pour l'initialisation» et le «sûrs pour l'écriture de scripts «catégories de composants, procédez comme suit :
Il est également valide pour définir les deux symboles de préprocesseur. Remarquez que ces symboles sont spécifiques à ce projet. Par défaut, les paramètres de génération du projet définissent les deux symboles de préprocesseur. Pour exécuterUne fois l'exemple de contrôle a été généré et a été correctement enregistrée, démarrez Internet Explorer, puis ouvrez la page Safectl.htm, qui est incluse dans l'exemple.Si le contrôle a été configuré pour s'inscrire comme sécurisés ou implémenter IObjectSafety, la légende de contrôles à lire «Safe pour l'initialisation!» Lorsque vous cliquez sur le contrôle, vous devez le message suivant : Si Internet Explorer est définie à son paramètre de sécurité plus élevé, le script associé ne s'exécute pas et le message d'erreur suivant : Remarque Si vous générez et tester différentes configurations de cet exemple, assurez-vous que vous actualisez la page Web dans le navigateur. Si vous n'actualisez pas la page, vous utilisiez la version mise en cache du contrôle au lieu de la dernière version. RéférencesPour plus d'informations sur les API de sécurité, consultez la sécurité de référence sur l'API dans la documentation en ligne du Kit de développement ActiveX SDK. Pour plus d'informations sur la signature de code, consultez «Signature avec Microsoft Authenticode Technology» dans la documentation en ligne Kit de développement ActiveX SDK. Pour plus d'informations sur les catégories de composants, consultez la rubrique «Catégories de composants» dans la documentation en ligne du Kit de développement ActiveX SDK. Pour plus d'informations sur l'implémentation COM (Component Object Model) de l'interface dans MFC, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft : 141277 Pour des informations détaillées sur la façon de développer un contrôle ActiveX et comment le déployer sur le Web, reportez-vous au site Web de Microsoft à l'adresse suivante :
(http://support.microsoft.com/kb/141277/
)
Comment substituer une interface dans une application MFC à l'aide de Visual C++ L'ABC de contrôles ActiveX MFC http://msdn.microsoft.com/en-us/library/ms968497.aspx
(http://msdn.microsoft.com/en-us/library/ms968497.aspx)
PropriétésNuméro d'article: 164119 - Dernière mise à jour: jeudi 26 avril 2007 - Version: 5.4 Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
Traduction automatique IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique. La version anglaise de cet article est la suivante: 164119
(http://support.microsoft.com/kb/164119/en-us/
)
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
|




Retour au début








