Modifier les paramètres d'Internet Explorer par programmation?
Aucune idée de comment puis-je effectuer les opérations suivantes à l'aide de C#?
- Va
Tools -> Internet Options -> Security
- Sélectionnez le
Security
onglet - Cliquez sur le
Custom Level
bouton - Dans le
Miscellaneous
section changementDisplay mixed content
àEnable
Tu veux dire, à partir de dans un de confiance, installé localement application en C# qui dispose de droits d'administrateur?
Oui. local de confiance une application qui s'exécute avec des privilèges d'administrateur
Et, bien sûr, ce serait un "changement temporaire"... ce qui est TOUJOURS annulé après que ça a servi à quoi ça sert? Je n'irais pas à "ajuster" les utilisateurs les paramètres du navigateur, particulièrement sensible en matière de sécurité, sans que les utilisateurs de consentement ÉCLAIRÉ.
Beaucoup de conférences des réponses. Cela peut être non publié code utilisé à des fins de test. Il y a des raisons légitimes de vouloir faire de telles choses.
Oui. local de confiance une application qui s'exécute avec des privilèges d'administrateur
Et, bien sûr, ce serait un "changement temporaire"... ce qui est TOUJOURS annulé après que ça a servi à quoi ça sert? Je n'irais pas à "ajuster" les utilisateurs les paramètres du navigateur, particulièrement sensible en matière de sécurité, sans que les utilisateurs de consentement ÉCLAIRÉ.
Beaucoup de conférences des réponses. Cela peut être non publié code utilisé à des fins de test. Il y a des raisons légitimes de vouloir faire de telles choses.
OriginalL'auteur kakopappa | 2011-04-30
Vous devez vous connecter pour publier un commentaire.
Le "cheat" façon de le faire est de changer la valeur
Où 0-4 sont Zone identificateurs et la valeur est 0 pour Permettre à, 1 à l'Invite, et de 3 à Bloc. Gardez à l'esprit que si votre code n'est présent sur tout ordinateur, mais votre propre, vous êtes susceptibles de trouver votre code bloqué comme un malware.
La "bonne" façon de faire cela est d'utiliser l'Api pour créer un IInternetZoneManager et appel SetZoneActionPolicy pour ajuster les paramètres de URLACTION_HTML_MIXED_CONTENT dans les zones que vous souhaitez ajuster.
Zone 3
est leInternet Zone
.OriginalL'auteur EricLaw
Vous n'êtes pas censé le faire "par programme". C'est pourquoi il n'y a pas une API pour cela. Seul l'utilisateur peut modifier leurs paramètres de sécurité, et ils le font à l'aide de l'interface que vous avez déjà découvert.
Les pauvres IE équipe a fait des heures supplémentaires en essayant de renforcer la sécurité de leur navigateur. Ils ne vont pas se lancer dans quelque chose comme ce qui réduirait à néant tous leurs efforts dans une affaire de secondes.
Rappelons que même une fois que cette option est sélectionnée, il n'y a une boîte de dialogue de confirmation présenté. Comment vous proposez-vous de "clic" que par programmation? (Hmm, à la réflexion, ne me dites pas. C'est probablement la prochaine question que vous allez poser.)
Renoncer à essayer de le faire par programmation, et de demander à l'utilisateur de le faire eux-mêmes. De fournir un ensemble de fichier d'aide ou d'autres documents qui explique pourquoi vous êtes en leur demandant de faire ce changement, quelles sont les fonctionnalités ne seront pas disponibles si elles choisissent de ne pas faire ce changement, et que les risques de sécurité potentiels d'un tel changement. Et, bien sûr, des instructions précises sur la façon dont le changement est fait.
Ou, mieux encore, de revoir la conception de votre application de sorte qu'il ne nécessite pas un à l'échelle du système modification de l'IE les paramètres de sécurité. Il est difficile d'imaginer une légitime cas pour cette. Une meilleure solution pourrait être de demander à l'utilisateur d'ajouter votre site à leurs "sites de confiance". Rappelez-vous que les pages locales ont des paramètres de sécurité différents que les pages par défaut.
OriginalL'auteur Cody Gray
Aussi, n'oubliez pas de Stratégies de Groupe. La plupart (si pas tous) les paramètres d'internet explorer peut également être spécifié dans les Stratégies de Groupe.
Selon Local paramètre de stratégie de groupe de sécurité d'internet explorer la page vs Internet options de sécurité page
les paramètres de Stratégie de Groupe remplacer les paramètres définis par l'utilisateur.
Donc, sur mon PC à la maison (fonctionne sans contrôleur de domaine) j'ai un choix à définir les paramètres d'internet explorer via la Stratégie de Groupe Locale de l'Éditeur ou via Internet Options. Par exemple, si je exécuter gpedit.msc pour ouvrir Locale Éditeur de Stratégie de Groupe, sélectionnez
Configuration De L'Ordinateur\Composants Windows\Internet Explorer\Panneau De Configuration Internet\Sécurité\Zone Internet
changement d'Affichage "contenu mixte" sur "Activé", puis sélectionnez "Activer" dans la zone de liste déroulante, cliquez sur Appliquer,
puis ouvrez les Paramètres de Sécurité pour la Zone Internet dans IE - je vais voir ce que l'option "Afficher un contenu mixte" modifié pour Activer et
la sélection est désactivée car elle est remplacée par la Politique.
Pour l'ensemble de la liste des prises en charge des politiques de téléchargement WindowsServer2012andWindows8GroupPolicySettings.xlsx
à partir de
http://www.microsoft.com/en-us/download/details.aspx?id=25250
Maintenant, revenons à la question de savoir comment modifier les paramètres de la programmation.
EricLaw correctement a suggéré d'utiliser SetZoneActionPolicy de IInternetZoneManager.
Mais il est difficile de trouver des échantillons pour l'appeler à partir de C#.
J'ai fini la copie
http://www.pinvoke.net/default.aspx/Interfaces.IInternetZoneManager
dans mon code et ensuite de faire:
J'ai aussi essayé de changer de stratégie de groupe par programmation.
J'ai utilisé de la bibliothèque de
https://bitbucket.org/MartinEden/local-policy
et puis:
Après un essai réussi le code ci-dessus sur Win7 SP1 avec IE 11, j'ai décidé de revenir à la proposition initiale de EricLaw: modifier
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\*\1001
directement, parce que c'est ce que Microsoft recommande. Voir, par exemple Comment renforcer les paramètres de sécurité pour la zone ordinateur Local dans Internet Explorer ou Amélioré La Sécurité De Navigation
OriginalL'auteur jhnlmn
Je ne suis pas sûr mais je pense que vous pouvez trouver tous ces paramètres dans "registre". Vous devez trouver la clé appropriée. Et pour changer ces valeurs, vous devez disposer des droits appropriés. Registre peut être consulté à partir de .net code
Rappelez-vous que les modifications apportées à la Greffe ne prend pas effet immédiatement. Les paramètres du Registre sont généralement lu une fois au démarrage du système et mis en cache. Ce n'est pas la bonne façon de modifier les paramètres système.
Il dépend de l'application et les touches. Certains reg touches, qui sont utilisées par le système d'exploitation va vous obliger à démarrer le système d'exploitation de nouveau que l'OS a lire une fois mis en cache et de leurs valeurs. Reg clés qui sont utilisés par certaines applications ne nécessitent de redémarrer l'application. Registre est une zone de stockage, comment l'information est utilisée dépend de la consommation de données (OS, applications, etc). Mais, évidemment, ce n'est pas une bonne façon de changer une autre application paramètre en modifiant directement ses régions clés.
Hum, ouais, ça dépend évidemment de l'application. Mais nous ne parlons pas de l'application des paramètres de configuration. Nous parlons d'Internet Explorer à l'échelle du système les paramètres de sécurité. Le point est, ce n'est pas la bonne façon de modifier ces paramètres. Vous avez trouvé un sans-papiers hack, hourra. Le problème ce sont ceux qui sont typiques des sans-papiers hacks. Une recherche dans le registre pour les paramètres que vous souhaitez n'est pas la bonne façon de trouver de nouvelles fonctionnalités dans Windows. Lire Raymond Chen blog pour plus de détails.
Je suis d'accord avec vous. Ne pas le faire.. mais c'est bon à savoir tout ça. Je ne ferais jamais cela dans mon application. à l'aide des sans-papiers façon de faire ce qui est mauvais et ne fera que conduire à des problèmes
OriginalL'auteur Ankur