लुआ और जावास्क्रिप्ट ऑब्जेक्ट-क्षमता मॉडल का समर्थन करता है, इस निष्कर्ष के साथ कि setfenv
के माध्यम से कार्यों को कॉल करने के लिए पर्यावरण को प्रतिबंधित करने के लिए समर्थन की वजह से, और अपरिवर्तनीय वस्तुओं के असंगत संदर्भों की संभावना के कारण, ओसीएम लागू किया जा सकता है, इसके बारे में some discussion on the cap-talk
mailing list रहा है।लुआ के लिए क्षमताओं: क्या अनुभव है?
क्या हमने देखा है कि यह कैसे काम करता है? मुझे लुआ में बहुत उपयोगी, उदार स्क्रिप्टिंग समर्थन के साथ मौजूदा एप्लिकेशन से शोषण हटाने में दिलचस्पी है, दुर्भाग्यवश सभी प्रकार के मामलों में पूर्ण शेल पहुंच की अनुमति देता है। कुछ खोल पहुंच की आवश्यकता है: ऑब्जेक्ट-क्षमता मॉडल चीजों को प्रबंधित करने के लिए एक अच्छा तरीका प्रतीत होता है। लेकिन मुझे चिंता है कि मैं इस मामले को कितना आश्वस्त कर सकता हूं कि यह दृष्टिकोण वास्तव में निश्चित रूप से गन्दा अभ्यास में सुरक्षित रूप से सुरक्षित होगा।
कुछ लिंक:
- पुराने तो सवाल: From Objects To Capabilities
- लुआ विकि: How can I create a secure Lua sandbox?
- erights.org पर पृष्ठभूमि SandBoxes और ReadOnlyTables - पता चलता कार्रवाई में
setfenv
; सारणी के पीछे मूल विचार दिखाता है, जो सही परिस्थितियों में, केवल
लगता है जैसे आपने अपना होमवर्क किया है। आप वास्तव में क्या खो रहे हैं? – Zecc
रिकॉर्ड के लिए, मुझे लगता है कि लूआ * ओसीएम का समर्थन करने में * निश्चित रूप से सक्षम * है। कम से कम, आप liolib.c और loslib.c के स्रोत कोड को संपादित कर सकते हैं। यह अपेक्षाकृत सरल होना चाहिए, क्योंकि कोड इतना जटिल नहीं है। – Zecc
@Zecc: सिद्धांत की वास्तविक कहानियां लागू, सफलतापूर्वक, या नहीं। किसी भी पैमाने पर जो भी हो। कैप-टॉक मेल सूची को याद दिलाने के लिए –