मेरे द्वारा विकसित एप्लिकेशन यह निर्देश देता है कि सॉफ़्टवेयर को अनधिकृत पहुंच को रोकना चाहिए। इसे लागू करने के लिए, मैंने उपयोगकर्ता और पासवर्ड आधारित प्रमाणीकरण का उपयोग दो भूमिकाओं के साथ किया है - मानक उपयोगकर्ता और व्यवस्थापक।उपयोगकर्ताओं को एक पायथन PyQt डेस्कटॉप एप्लिकेशन में सुरक्षित रूप से प्रमाणीकरण और अधिकृत करना
यह उपयोगकर्ता इंटरफ़ेस के लिए डेटाबेस, पीईक्यूटी के साथ इंटरैक्ट करने के लिए एसक्यूएलकेमी का उपयोग करके पायथन में पूरी तरह लागू किया गया था।
दर्ज पासवर्ड ब्रिसप्ट का उपयोग करके धोया गया है और उसके बाद संबंधित उपयोगकर्ता नाम (वेब सेवाओं में उपयोग की जाने वाली मानक प्रमाणीकरण तकनीक) के लिए डेटाबेस पर मौजूद हैश की तुलना में है।
सफल प्रमाणीकरण के बाद, self.authenticatedUser
नामक एक चर को वर्ग User
वर्ग का एक SQLAlchemy उदाहरण है।
इस कार्यान्वयन का परिणाम यह है किसी को भी प्रवेश विधि संपादित कर सकते हैं बस उपयोगकर्ता नाम व्यवस्थापक के साथ प्रकार User
के ऑब्जेक्ट के लिए सीधे डेटाबेस क्वेरी और self.authenticatedUser
को User
की लौटे SQLAlchemy उदाहरण आवंटित और इस तरह बिंगो हैकर की पहुंच है करने के लिए है प्रणाली।
चूंकि, मैं अजगर में लिखे इस सॉफ़्टवेयर को वितरित कर रहा हूं, यह प्रमाणीकरण तंत्र को अक्षम करने के लिए हैकर (या किसी भी प्रकार के प्रोग्रामर) के लिए मिनटों का मामला है। इसके अलावा, मैं लॉगिन लॉगिन टोकन प्राप्त करके प्रमाणित या अधिकृत करने के लिए यहां एक वेब सेवा का उपयोग नहीं कर सकता क्योंकि सॉफ़्टवेयर का उपयोग पर्यावरण में air gap के साथ किया जाएगा।
क्या इसे सुरक्षित तरीके से कार्यान्वित करने के कोई ठोस तरीके हैं?
- एक स्थानीय MySQLDatabase
- किसी सुरक्षित (अपेक्षाकृत उल्टा करने के लिए कठिन इंजीनियर शायद उचित होगा) का उपयोग करना तंत्र का उपयोग करना।
आप इसे ओएस बाइनरी के रूप में [PyInstaller] (http://www.pyinstaller.org/) के साथ वितरित करने के बारे में सोच सकते हैं। SQLAlchemy और PyQt समर्थित संकुलों की सूची पर हैं। PyInstaller भी PyCrypto का समर्थन करता है। –