2009-08-04 15 views
15

Google ऐप इंजन का सैंडबॉक्स कैसे काम करता है? मुझे अपना खुद का सैंडबॉक्स बनाने के लिए क्या करना होगा (मेरे क्लाइंट को अपने डिस्क ड्राइव को प्रारूपित करने की क्षमता के बिना अपने इंजन पर अपने ऐप्स चलाने के लिए सुरक्षित रूप से अनुमति देने के लिए)? क्या यह सिर्फ वर्ग लोडर जादू, बाइट मैनिपुलेशन या कुछ है?Google ऐप इंजन सैंडबॉक्स कैसे काम करता है?

+1

मैं गैस टैग निकाल दिया गया क्योंकि मैं यह गूगल आवेदन सैंडबॉक्स के लिए खड़ा नहीं लगता कि, और मुझे नहीं लगता है जीएनयू कोडांतरक इस सवाल से संबंधित है। –

+0

क्षमा करें, मैंने कुछ गलत टाइप किया होगा, मैंने इस प्रश्न को कीबोर्ड रहित पोर्टेबल डिवाइस के माध्यम से बनाया है। – Shahbaz

उत्तर

2

जावा मामले में, मुझे लगता है कि यह ज्यादातर उपलब्ध पुस्तकालयों सीमित करके किया है। के बाद से जावा सूचक अवधारणा नहीं है, और आप मूल रूप से संकलित कोड (केवल JVM बाईटकोड) अपलोड नहीं कर सकते, तो आप sandbox से बाहर तोड़ नहीं कर सकते। कुछ तंग प्रक्रिया शेड्यूलिंग जोड़ें, और आपका काम हो गया!

मुझे लगता है कि सबसे कठिन हिस्सा, पुस्तकालयों लेने जबकि सुरक्षित रहने के लिए यह उपयोगी बनाने के लिए किया जा सके।

अजगर मामले में, वे क्योंकि यह मन में सुरक्षा के साथ नहीं बनाया गया था, वीएम खुद को संशोधित करने के लिए किया था। सौभाग्य से, उनके पास Guido खुद ऐसा करने के लिए है।

9

आप शायद एक प्रतिबंधक classloader का एक संयोजन और Java Security Architecture को पूरी तरह समझने की आवश्यकता होगी। आप शायद अपने जेवीएम को एक बहुत सख्त सुरक्षा प्रबंधक के साथ निर्दिष्ट करेंगे।

+1

महत्वपूर्ण नोट - सुरक्षा प्रबंधक आपको ढेर मेमोरी उपयोग या CPU उपयोग को प्रतिबंधित करने की अनुमति नहीं देता है। आपके पास इस तरह के प्रत्येक कार्य/स्क्रिप्ट के लिए अलग-अलग प्रक्रियाओं को बढ़ाने के अलावा कोई अन्य विकल्प नहीं है। – Zorkus

0

सुरक्षित रूप से अपने ग्राहकों के लिए उन्हें मेरी डिस्क ड्राइव

यह आसानी से जावा सुरक्षा प्रबंधक का उपयोग कर प्राप्त किया जा सकता से प्रारूप देने की क्षमता के बिना मेरे इंजन पर अपने ऐप्स को चलाने के लिए अनुमति देने के लिए। उदाहरण के लिए this उत्तर का संदर्भ लें।

+0

इसे 'सुरक्षा प्रबंधक' के साथ भी काफी काम किया जा सकता है, लेकिन आसानी से नहीं किया जा सकता है। – Gautam