2009-11-10 9 views

उत्तर

8
+9

दूसरा लिंक कचरा है। Obfuscating * नहीं * एन्क्रिप्टिंग के समान है। –

+1

दूसरे लिंक के बारे में: "अस्पष्टता द्वारा सुरक्षा" की अनुशंसा नहीं की जाती है, केर्कहॉफ के सिद्धांत को देखो। – Calum

+0

क्या आप कृपया मुझे बताएंगे कि aspnet_regiis का उपयोग करने के क्या फायदे हैं।exe उपकरण, जब एन्क्रिप्शन फ़ाइल स्थानीय मशीन में प्रयोग योग्य है और होस्टिंग सर्वर में उपयोग नहीं कर सकता है? –

4
+0

क्या आप कृपया मुझे बताएंगे कि aspnet_regiis.exe उपकरण का उपयोग करने के क्या फायदे हैं, जब एन्क्रिप्शन फ़ाइल स्थानीय मशीन में प्रयोग योग्य है और होस्टिंग सर्वर में उपयोग नहीं कर सकती है? –

10

राहुल aspnet_regiis.exe, ASCII से base64 स्ट्रिंग के लिए एक स्ट्रिंग परिवर्तित एक एन्क्रिप्शन नहीं है देखो, आपका पहला लिंक सुझाव है रों। हम आसानी से बेस 64 को ASCII में परिवर्तित कर सकते हैं।

एक आरएसए कुंजी के साथ configsection.protectSection() का उपयोग करना एक उचित एन्क्रिप्शन है जो Web.config फ़ाइल के अनुभागों के लिए उपलब्ध है।

चेक इस लिंक: http://www.beansoftware.com/ASP.NET-Tutorials/Encrypting-Connection-String.aspx

कृपया ध्यान दें, कि हम एक साझा होस्टिंग वातावरण जहां ट्रस्ट स्तर मध्यम विश्वास के लिए निर्धारित है में Web.config फ़ाइल को एन्क्रिप्ट नहीं कर सकते हैं।

2

बाहरी लिंक का दौरा करने, सी में होने को बचाने के लिए: \ Windows \ Microsoft.NET \ फ्रेमवर्क \ v4.0.30319 (.NET 4/4.5 के लिए)

aspnet_regiis.exe -pe "connectionStrings" -app "/YourWebSiteName" -prov "DataProtectionConfigurationProvider" 

इस उपकरण का उपयोग ConnectionStrings अनुभाग को डिक्रिप्ट करने के लिए, आप aspnet_iisreg.exe उपकरण में निम्न आदेश निर्दिष्ट कर सकते हैं।

aspnet_regiis.exe -pd "connectionStrings" -app "/YouWebSiteName" 
+0

क्या आप कृपया मुझे बताएंगे कि aspnet_regiis.exe उपकरण का उपयोग करने के क्या फायदे हैं, जब एन्क्रिप्शन फ़ाइल स्थानीय मशीन में प्रयोग योग्य है और होस्टिंग सर्वर में उपयोग नहीं कर सकती है? –

+0

जो वास्तव में इस पर निर्भर करता है कि आप फ़ाइल को एन्क्रिप्ट करना क्यों चाहते हैं - यदि यह विकास के लिए है और आपके पास अपनी देव मशीन पर कोई संवेदनशील जानकारी नहीं है, तो मुझे नहीं लगता कि वहां बहुत अधिक बिंदु है (परीक्षण के अलावा), हालांकि लाइव सर्वर या एक मशीन जहां संवेदनशील जानकारी है जिसे हैक किया जा सकता है .. तो आपका लाभ –

1

एप्लिकेशन को सुरक्षा देने के लिए एन्क्रिप्शन उपयोगी है। Web.config एन्क्रिप्ट करने के लिए कृपया निम्न चरणों को पाएं।

  1. ओपन कमान, व्यवस्थापक विशेषाधिकार
  2. कमांड प्रॉम्प्ट पर साथ देने के लिए प्रेरित
  3. सीडी सी दर्ज: \ Windows \ Microsoft.NET \ फ्रेमवर्क \ v4.0.30319
  4. मामले में अपने वेब कॉन्फ़िग में स्थित है 'डी: \ लेख \ EncryptWebConfig ":
  5. ASPNET_REGIIS -pef" ConnectionStrings "" डी: \ लेख \ EncryptWebConfig
निर्देशिका पथ, तो ConnectionString एन्क्रिप्ट करने के लिए निम्न दर्ज करें

मैंने अधिक सुरक्षा के लिए कुछ और चीज का उपयोग किया है। मेरे Web.config में मैंने निम्नलिखित कोड जोड़ा है।

<httpProtocol> 
     <customHeaders> 
      <add name="x-Frame-Option" value="Deny or SEMEORGIN" /> 
      <remove name="Server" /> 
      <remove name="X-AspNet-Version" /> 
      <remove name="X-AspNetMvc-Version" /> 
      <remove name="X-Powered-By" />    
     </customHeaders> 
    </httpProtocol> 
1

भागो इस कमान में: aspnet_regiis.exe -pef "ConnectionStrings" "pathToWebConfig"

या, अगर आप इस प्रोग्राम के चलाना चाहते हैं तो आप एक प्रक्रिया बना सकते हैं:

  string fileName = @"C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe"; 

      if (8 == IntPtr.Size 
       || (!string.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432")))) 
      fileName = @"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe"; 

      string arguments = $"-pef \"connectionStrings\" \"{application.Path}\""; 

      using (Process process = new Process()) 
      { 
       process.EnableRaisingEvents = true; 
       process.StartInfo = new ProcessStartInfo 
       { 
        FileName = exeName, 
        Arguments = arguments, 
        UseShellExecute = false, 
        RedirectStandardOutput = true, 
        RedirectStandardError = true, 
        CreateNoWindow = true 
       }; 

       process.Start(); 
       processOutput.Output = process.StandardOutput.ReadToEnd(); 
       bool exited = process.WaitForExit(timeoutMilliseconds); 
       if (exited) 
       { 
        processOutput.ExitCode = process.ExitCode; 
       } 
      } 
+0

है क्या आप कृपया मुझे बताएं कि aspnet_regiis.exe उपकरण का उपयोग करने के क्या फायदे हैं, जब एन्क्रिप्शन फ़ाइल स्थानीय मशीन में उपयोग योग्य है और नहीं कर सकता होस्टिंग सर्वर में उपयोग करें? –

संबंधित मुद्दे