मेरे पास अविश्वसनीय डब्लूएसजीआई-ऐप्स के साथ अजगर-परियोजनाओं का समूह है। मुझे उन्हें अनुकरण और सुरक्षित रूप से चलाने की जरूरत है। इसलिए मुझे निर्देशिका एक्सेस, पायथन मॉड्यूल उपयोग और सीपीयू और मेमोरी के लिए सीमाओं के लिए प्रतिबंधों की आवश्यकता है।पायथन कोड जेलिंग
मैं दो तरीकों पर विचार करें: परिभाषित फ़ाइल से imp मॉड्यूल WSGI-वस्तु के माध्यम से
आयात, और pysandbox के साथ चल रहा है। अब मैं
SandboxError: Read only object
जब कर रही है:self.config = SandboxConfig('stdout') self.sandbox = Sandbox(self.config) self.s = imp.get_suffixes() wsgi_obj = imp.load_module("run", open(path+"/run.py", "r"), path, self.s[2]).app … return self.sandbox.call(wsgi_obj, environ, start_response)
संशोधित अजगर दुभाषिया, संभावित जोखिम भरा मॉड्यूल, समानांतर प्रक्रियाओं में चल बाहर करते हैं, ZMQ/यूनिक्स सॉकेट के माध्यम से संवाद। मुझे यह भी नहीं पता कि यहां कहां से शुरू करना है।
आप क्या सिफारिश कर सकते हैं?
प्रक्रिया अलगाव निश्चित रूप से एक अच्छा विचार है। वर्चुअलाइजेशन का उपयोग करना बेहतर होगा। मुझे pysandbox के बारे में पता नहीं है, लेकिन मैंने सुना है कि सैंडबॉक्सिंग पाइथन कोड के लिए मौजूदा समाधान विशेष रूप से अच्छे नहीं हैं। –
सीपीथॉन में सैंडबॉक्सिंग बहुत अच्छी नहीं है, लेकिन अन्य पायथन दुभाषिया, विशेष रूप से पीईपीई, में अधिक सैंडबॉक्सिंग समर्थन है। –
मैंने पीपीपी सैंडबॉक्सिंग की कोशिश की। यह बहुत जटिल है। – sashab