Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन मॉड्यूल को अन्य मॉड्यूल कॉल करने से कैसे रोकें?

आप "सैंडबॉक्स्ड पायथन" (Sandboxed Python) का उपयोग कर सकते हैं। एक "सैंडबॉक्स्ड पायथन" आपको मॉड्यूल को अनुमति या निषेध करने, निष्पादन स्लाइस सीमित करने, नेटवर्क ट्रैफिक अनुमति/अस्वीकार करने, फाइलसिस्टम एक्सेस को एक विशेष डायरेक्टरी तक सीमित करने (जिसे "/" के रूप में फ्लोट किया जाता है), और इसी तरह की सुविधाएं देता है। इसे प्रतिबंधित निष्पादन (RestrictedExecution) भी कहा जाता है।

सैंडबॉक्सिंग के कार्यान्वयन के तरीके

पायथन पर सैंडबॉक्सिंग लागू करने के कई तरीके हैं:

  • CPython रनटाइम संशोधित करें
  • अन्य रनटाइम उपयोग करें
  • ऑपरेटिंग सिस्टम सपोर्ट उपयोग करें

सैंडबॉक्सिंग के बारे में अधिक पढ़ें: https://wiki.python.org/moin/SandboxedPython

RestrictedPython पैकेज

PyPI पर RestrictedPython नामक एक पैकेज है (https://pypi.python.org/pypi/RestrictedPython) जो पायथन भाषा का एक परिभाषित सबसेट है जो एक विश्वसनीय वातावरण में प्रोग्राम इनपुट प्रदान करने की अनुमति देता है।

महत्वपूर्ण: RestrictedPython एक सैंडबॉक्स सिस्टम या सुरक्षित वातावरण नहीं है, लेकिन यह एक विश्वसनीय वातावरण को परिभाषित करने और उसके अंदर अविश्वसनीय कोड निष्पादित करने में मदद करता है।

अन्य विकल्प

  • PyPy सैंडबॉक्स - अधिक सुरक्षित
  • Docker कंटेनर - OS-स्तरीय आइसोलेशन
  • subprocess सीमित अधिकारों के साथ
  • seccomp / namespaces (लिनक्स)

चेतावनी

पायथन सैंडबॉक्सिंग कुख्यात रूप से कठिन है। सुरक्षा-महत्वपूर्ण अनुप्रयोगों के लिए, OS-स्तरीय आइसोलेशन (कंटेनर, VMs) प्राथमिकता दें।

  1. - Python Module से Single Function कैसे Import करें?

    Python Module से Single Function Import करना आप from module import function Statement का उपयोग करके Python Module से Specific Function Import कर सकते हैं। उदाहरण यदि आप math Library से sin Function Import करना चाहते हैं बिना किसी अन्य Function को Import किए: >>> from math import sin >&

  1. - Python Modules कैसे काम करते हैं?

    Python Modules का Working Python के पास Definitions को एक File में रखने और उन्हें Script या Interpreter के Interactive Instance में उपयोग करने का तरीका है। ऐसी File को Module कहते हैं; एक Module से Definitions को अन्य Modules या Main Module (Variables का Collection जो आपको Top Level पर Execute किए

  1. - कमांड लाइन से पायथन मॉड्यूल कैसे कॉल करें?

    यदि हम एक पायथन स्क्रिप्ट लिख रहे हैं जिसे मॉड्यूल के रूप में उपयोग किया जाना है, तो हम फंक्शन के इस कॉल को नीचे जोड़कर इस मॉड्यूल का टेस्ट कर सकते हैं: def fubar(): #does something useful fubar() और इसे कमांड प्रॉम्प्ट पर इस तरह चलाएं: ~$ python fubar.py