2013-06-26 11 views
6

PHP में डेटाबेस लॉगिन प्रमाण-पत्र सुरक्षित करने का स्वीकार्य तरीका उन्हें वेब रूट के बाहर संग्रहीत करना है, और include() पासवर्ड वाली फ़ाइलों को संग्रहीत करना है। Python अनुप्रयोगों में सुरक्षित रूप से संग्रहीत MySQL डेटाबेस लॉगिन प्रमाण पत्र कैसे हैं?पायथन में सुरक्षित रूप से डेटाबेस पासवर्ड कैसे संग्रहीत करें?

+0

क्या है अब तक पता चला? यदि आप मेरी आंखों में पाइथन में प्रथाओं के बारे में जानना चाहते हैं तो PHP अनुप्रयोगों को देखना बेकार लगता है। और सौभाग्य से बहुत सारे पायथन कोड चारों तरफ तैर रहे हैं, तो आपका शोध किस प्रकार ढंका हुआ है? – hakre

+1

मैंने PHP सर्वोत्तम अभ्यास का उल्लेख किया क्योंकि यह एक ऐसा वातावरण है जिसे मैं परिचित हूं। पायथन के लिए, मुझे पासवर्ड (बेस 64 या इसी तरह) को खराब करने के लिए केवल सुझाव मिल गए हैं, और यह सुनिश्चित करने के लिए कि पाइथन फ़ाइल अन्य लोगों द्वारा पढ़ने योग्य नहीं है (0700 अनुमतियां)। मैं यहां पूछता हूं कि क्या कोई बेहतर तरीका है। – dotancohen

+1

मैं कीरिंग लाइब्रेरी (https://pypi.python.org/pypi/keyring) का उपयोग करता हूं और ओएस की क्रेडेंशियल स्टोरेज यूटिलिटी में वास्तविक क्रेडेंशियल स्टोर करता हूं। इसे कार्यान्वित करना बहुत आसान है, और यह मेरे लिए काफी सुरक्षित लगता है। – northben

उत्तर

4

ठीक है, ऐसा करने का एक तरीका पासवर्ड को एक अलग कॉन्फ़िगर/आईएनआई फ़ाइल में डाल रहा है जो प्रोजेक्ट के साथ तैनात नहीं है।

python main.py --config=/path/to/config.ini

ध्यान दें कि आप (argparse देखें) इस --config तर्क पार्स और फिर पढ़ सकते हैं और config.ini पार्स करने के लिए की आवश्यकता होगी: और फिर, आवेदन, जैसे की मुख्य प्रवेश करने के लिए इस फ़ाइल का रास्ता पारित फ़ाइल।

अद्यतन: जब से तुम वेब अनुप्रयोगों उल्लेख किया है, वहाँ भी विन्यास सूचना पास करने का एक और तरीका है - environ के माध्यम से। उदाहरण के लिए, यदि आप mod_wsgi उपयोग करते हैं, तो आप इस WSGI निर्देशों में putt कर सकते हैं:

SetEnv my_namespace.some_param some_value

और फिर, उसे इस मान से os.environ के माध्यम से आवेदन पत्र में सुलभ हो जाएगा:

import os 
os.environ['my_namespace.some_param'] 
संबंधित मुद्दे

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