मैं WinForm एप्लिकेशन में अपने कनेक्शन स्ट्रिंग को कैसे सुरक्षित कर सकता हूं?WinForm अनुप्रयोगों में सुरक्षित कनेक्शनस्ट्रिंग
उत्तर
आप नहीं कर सकते। यद्यपि आप app.config फ़ाइल में कनेक्शन स्ट्रिंग को एन्क्रिप्ट कर सकते हैं, एप्लिकेशन को इसे डिक्रिप्ट करने में सक्षम होना आवश्यक है और इसलिए अनएन्क्रिप्टेड कनेक्शन स्ट्रिंग को पुनर्प्राप्त करना हमेशा संभव है, खासकर एक प्रबंधित एप्लिकेशन के साथ (शायद आपके सामान्य अंतिम उपयोगकर्ता के लिए नहीं, लेकिन कोई भी कुशल डेवलपर ऐसा कर सकता है)।
इसका समाधान security by obscurity पर दुबला नहीं होना है। Windows उपयोगकर्ता खाते का उपयोग कर डेटाबेस से कनेक्ट करते समय विंडोज इंटीग्रेटेड सिक्योरिटी का उपयोग करें और उपयोगकर्ता को डेटाबेस में न्यूनतम अधिकारों का अधिकार दें।
अक्सर हालांकि यह अभी भी पर्याप्त नहीं है, क्योंकि अंतिम उपयोगकर्ता डेटाबेस से सीधे कनेक्ट होने पर डेटाबेस को सुरक्षित करना बहुत कठिन होता है (अक्सर क्योंकि आपको पंक्ति स्तर की सुरक्षा की आवश्यकता होती है)। इसके लिए काम करने के लिए आपको टेबल और विचारों तक पहुंच से इनकार करने की आवश्यकता है और पूरी तरह से संग्रहित प्रक्रियाओं में वापस आना चाहिए।
डेस्कटॉप अनुप्रयोग को सीधे डेटाबेस से संचार करने से रोकने के लिए एक बेहतर तरीका है; मध्यवर्ती परत के रूप में एक वेब सेवा का उपयोग करें। उस स्थिति में आपके पास सुरक्षा पर पूर्ण नियंत्रण है और आप (वेब) सर्वर पर कनेक्शन स्ट्रिंग को सुरक्षित रूप से स्टोर कर सकते हैं।
+1। प्रबंधित ऐप्स के साथ विशेष रूप से कोई पूर्ण सुरक्षा नहीं है। आप कुछ चीजों के साथ सुरक्षा को लागू कर सकते हैं जैसे एक webservice परत और डेटाबेस से उपयोगकर्ताओं को अलग करना, लेकिन फिर भी यह सही नहीं होगा। आपको ऐप की अवधारणा से इसे ध्यान में रखना होगा। –
@ स्टीवन "विंडोज इंटीग्रेटेड सिक्योरिटी" का लिंक टूटा हुआ है। :) –
यह यहाँ एक बहुत पूछा जाता है ...
Encrypting sections and-or settings in an App.config file that will be redistributed
वहाँ उस पर एक परिमित जवाब हो रहा है कभी नहीं ... यह यह करने के लिए उन "प्रत्येक में से एक है लगता है अपने स्वयं के "प्रकार परिदृश्य ... अपनी स्थिति के अनुसार सबसे अच्छा क्या उपयोग करें।
उत्तर बहुत सीमित हैं, उत्तर के रूप में आपकी खतरनाक टिप्पणी भ्रामक है। – MickLH
एह ने कुछ भी पसंद किया है जो हैकिंग द्वारा डिक्रिप्शन को रोकने के लिए नियमित रूप से "निजी कुंजी" को बदलने के लिए मालिक के काम को एन्क्रिप्ट किया गया है। मौसम आप पूरी कॉन्फ़िगरेशन को एन्क्रिप्ट करते हैं या इसका एक हिस्सा यह है कि "पसंद करने के लिए" बहुत अधिक है, इसलिए परिमित नहीं है, लेकिन हो सकता है कि परिमित शब्द का सही विकल्प "विशिष्ट सही" बेहतर न हो। – War
आपने बिंदु को याद किया है, बिंदु यह है कि कॉन्फ़िगर एन्क्रिप्ट करना एक गलत विचार है, आपको संवेदनशील डेटा को एक सुरक्षित इंटरफ़ेस प्रदान करने की आवश्यकता है क्योंकि किसी एप्लिकेशन को इसे चलाने के लिए रनटाइम पर _always_ को कॉन्फ़िगर करना होगा। – MickLH
- 1. कनेक्शनस्ट्रिंग एन्क्रिप्शन
- 2. सी # कनेक्शनस्ट्रिंग एन्क्रिप्शन प्रश्न
- 3. नोडजेएस अनुप्रयोगों का सुरक्षित वितरण
- 4. माइक्रोसॉफ्ट.एसीई.ओएलडीबी.12.0 सीएसवी कनेक्शनस्ट्रिंग
- 5. WinForm
- 6. Winform
- 7. Winform
- 8. Winform
- 9. Winform
- 10. WinForm
- 11. सुरक्षित वेब अनुप्रयोगों के लिए शीर्ष युक्तियाँ
- 12. प्रतिनिधि उपयोग के साथ बहु थ्रेडेड Winform अनुप्रयोगों में अच्छा प्रोग्रामिंग अभ्यास क्या माना जाता है?
- 13. एसक्यूएल कनेक्शनस्ट्रिंग एन्क्रिप्ट करें C#
- 14. आईओसी पैटर्न में कनेक्शनस्ट्रिंग जैसी चीज़ों को कहां रखना है?
- 15. Winform अनुप्रयोग
- 16. सी # Winform
- 17. सी # Winform
- 18. WinForm लेबल
- 19. हम Winform
- 20. .net winform
- 21. Winform C#
- 22. एक Winform
- 23. WinForm एप्लिकेशन
- 24. Winform UserControl
- 25. सी # WInForm
- 26. WinForm एप्लिकेशन
- 27. वेब अनुप्रयोगों में सिंगलटन पैटर्न
- 28. सभी कैसे कनेक्शनस्ट्रिंग संग्रहीत कर रहे हैं?
- 29. LinqToSql डीबीएमएल गतिशील रूप से कनेक्शनस्ट्रिंग स्विच
- 30. web.config में NHibernate कॉन्फ़िगरेशन - मौजूदा कनेक्शनस्ट्रिंग का उपयोग करें
इसका उपयोग सी # कोड एन्कप छेद अनुभाग [लिंक] (http://stackoverflow.com/questions/37573551/encrypt-app-config-custom-element-using-cmd?answertab=active#tab का उपयोग करके पूर्ण रूप से किया जा सकता है -top) –