Question

Je développe une application web qui nécessite un nom d'utilisateur et mot de passe pour être stockées dans le site web.Config, il se réfère également à des URLs qui seront demandées par l'application web elle-même et de ne jamais le client.

Je sais que le .Net framework ne sera pas permettre à un site web.fichier de configuration pour être servi, mais je pense toujours que sa mauvaise habitude de laisser ce genre d'informations en texte clair.

Tout ce que j'ai lu jusqu'à présent m'oblige à utiliser un commutateur de ligne de commande ou pour stocker des valeurs dans le registre du serveur.J'ai accès à aucune de celles que l'hôte est en ligne et j'ai seulement le FTP et le Panneau de commande de barre l'accès.

Quelqu'un peut-il recommander des bons, gratuit de cryptage des DLL ou des méthodes que je peux utiliser?Je préfère ne pas développer mon propre!

Merci pour les commentaires jusqu'à présent les gars mais je ne suis pas en mesure d'envoyer des commandes et de et de ne pas pouvoir modifier le registre.Sa va être un chiffrement util/helper mais juste vous demandez-vous à qui un!

Était-ce utile?

La solution

EDIT:
Si vous ne pouvez pas utiliser asp utilitaire, vous pouvez crypter le fichier de configuration à l'aide de SectionInformation.ProtectSection la méthode.

L'échantillon sur codeproject:

Le cryptage des Chaînes de Connexion à l'intérieur du Web.config ASP.Net 2.0

Autres conseils

Alors que sur la première vue, il semble être simple, il y a quelques obstacles que j'ai rencontrés.

Donc, je suis en fournissant des étapes qui a bien fonctionné pour moi (pour chiffrer le appSettings la section) à l'aide de la valeur par défaut de la crypto fournisseur de:

Chiffrer articles dans le web.config:

  1. Ouvrez Admin shell de commande (exécuter en tant qu'administrateur!).L'invite de commande va être sur C: qui est supposé pour les étapes ci-dessous.
    Par ailleurs supposé que l'application est déployée sur D:\Apps\myApp - le remplacer par le chemin d'accès que vous utilisez dans étape 3.
  2. cd "C:\Windows\Microsoft.NET\Framework64\v4.0.30319", sur la 32 bits de Windows systèmes d'utilisation Framework au lieu de Framework64
  3. cd /D "D:\Apps\myApp"
    Note: L' /D interrupteur va changer le disque automatiquement si elle est différente de votre lecteur en cours.Ici, il va modifier le chemin d'accès et le lecteur, de sorte que le répertoire courant sera D:\Apps\myApp par la suite.
  4. c:aspnet_regiis -pef appConfig .

Vous devriez voir ce message:

Microsoft (R) ASP.NET RegIIS version 4.0.30319.0 Utilitaire d'Administration pour installer et désinstaller ASP.NET sur la machine locale.Copyright (C) Microsoft Corporation.Tous droits réservés.Le chiffrement de section de configuration...Réussi!

Vous pouvez également Décrypter articles dans le web.config:Ce sont les mêmes étapes, mais avec l'option -pdf au lieu de -pef pour aspnet_regiis.

Il est également possible de chiffrer d'autres sections de votre site web.config, par exemple, vous pouvez chiffrer les chaînes de connexion l'article via:

aspnet_regiis -pe "connectionStrings" -app "/SampleApplication"

Plus de détails sur qui peut être trouvé ici.


Note: Le chiffrement ci-dessus est transparent pour votre application web, c'est à direvotre application web ne reconnaît pas que les paramètres sont cryptées.
Vous pouvez également choisir d'utiliser non-transparent de cryptage, par exemple à l'aide de Microsoft DPAPI ou à l'aide de AES avec le Cadre de AES Classe.
Comment c'est fait avec DPAPI J'ai décrit ici, à Stackoverflow.DPAPI fonctionne de manière très similaire dans le sens qu'il utilise la machine ou à l'utilisateur des informations d'identification de touches.Généralement, non le chiffrement transparent vous donne plus de contrôle, par exemple, vous pouvez ajouter un SEL, ou vous pouvez utiliser une clé basée sur un utilisateur, mot de passe.Si vous voulez en savoir plus sur la façon de générer une clé à partir d'une phrase de passe, regardez ici.

Utilisation aspnet_setreg.exe http://support.microsoft.com/kb/329290

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top