क्या विस्तार स्क्रिप्ट को सैंडबॉक्स में चलाया जाना चाहिए?


11

विशेष रूप से, यह लुआ (लुजिट-2.0) में लिखे गए गेम एक्सटेंशन के बारे में है। मैं इस बात पर विचार कर रहा था कि क्या मुझे इन लिपियों को प्रतिबंधित करना चाहिए और क्या इस निष्कर्ष पर पहुंचे कि मुझे शायद नहीं करना चाहिए:

  • सही होना कठिन है। मूर्खतापूर्ण लगता है, लेकिन संभावना है कि मेरा सैंडबॉक्स लीक होने वाला है।

  • केवल एक ही लाभ जिसके बारे में मैं सोच सकता था कि उपयोगकर्ताओं को थर्ड पार्टी स्क्रिप्ट चलाते समय सुरक्षा की कुछ समझ होगी।

  • नुकसान यह होगा कि यह सिर्फ विस्तार लेखकों के लिए अविश्वसनीय रूप से कष्टप्रद है। यही है, अब के लिए, खुद को (खेल सामग्री ज्यादातर स्क्रिप्टेड होगी)।

इससे पहले कि मैं वास्तव में कुछ भी प्रस्तुत करने से पहले यह पूछ रहा हूं, यह है कि सैंडबॉक्स को जल्दी से जोड़ना आसान है, लेकिन यह भी कहा जाएगा कि खुद पर भी कष्टप्रद प्रतिबंध हैं। हालाँकि, अगर मैं पहले इसके साथ जाता हूँ और फिर बाद में निर्णय लेता हूँ कि मुझे सैंडबॉक्स की आवश्यकता है, तो मैं समस्याओं में भागने वाला हूँ (मुझे या तो पहले से मौजूद स्क्रिप्ट को फिर से लिखना होगा, या ट्रस्ट प्रबंधन प्रणाली के कुछ रूप पेश करने होंगे। जो लगता है कि यह मूल्य से अधिक परेशानी है)।


किस तरह के खेल के लिए? एक ऑफ-द-शेल्व उत्पाद के लिए, 100.000 ग्राहकों को बेचा जाता है, और जो कोई भी पसंद करता है, वह इसके लिए स्क्रिप्ट लिख सकता है? या 50 बार बेचे गए उत्पाद के लिए और आप अतिरिक्त स्क्रिप्ट प्रदान करने वाले एकमात्र व्यक्ति हैं?
डॉक्टर ब्राउन

जवाबों:


2

मेरा मानना ​​है कि दोनों एक वीडियोगेम का विकास, जो किसी मध्यम-बड़े आयामों के किसी भी सॉफ्टवेयर विकास में, प्रोग्रामर हमेशा भविष्य की कार्यक्षमता के लिए एक परत विनिमय या मुफ्त-सेट विकल्प बनाने का प्रयास करेगा।

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

यदि हम इस बात पर ध्यान केंद्रित करते हैं कि सैंडबॉक्स गेम की पेशकश क्या है, तो हम यह समझ सकते हैं कि अंतिम उपयोग एक डबल-ब्लेड हो सकता है, जिससे खेल गैर-रैखिक, दिलचस्प और मजेदार हो सकता है , लेकिन एक ही समय में आसान योजना नहीं बन सकती है। कार्य क्षेत्र में उनकी सीमाएँ।

एक सुरक्षा दृष्टिकोण से, यह शानदार लगता है! एक्सटेंशन के लिए एक अच्छा परीक्षण वातावरण, सभी प्रकार के सॉफ़्टवेयर में लागू किया जाना चाहिए।

अंत में, मैं कह सकता हूं कि यद्यपि ऐसा लगता है कि आपके उत्पाद के लिए सैंडबॉक्स बनाने के लायक नहीं है, वास्तव में डेवलपर या डेवलपर्स के समूह को अधिक लाभ मिलेगा, क्योंकि अंतिम उपयोगकर्ता के रूप में डेवलपर पर आपके वातावरण को आसानी से कॉन्फ़िगर किया जा सकता है कार्यात्मक संरचना में परिवर्तन करें। मैं दृढ़ता से आश्वस्त हूं कि सैंडबॉक्स गेम, (जैसा कि सॉफ्टवेयर स्केलेबिलिटी में है), उनके एक्सटेंशन के रचनात्मक विकास और इसकी कार्यात्मकताओं के एक प्राकृतिक विकास की अनुमति देता है।


1
मुझे लगता है कि आप गेमिंग अर्थ में 'सैंडबॉक्स' का उपयोग कर रहे हैं, लेकिन ओपी सुरक्षा अर्थों में इसका उपयोग कर रहा था। वे दो काफी असंबंधित अवधारणाएं हैं।
bdsl

2

सही होना कठिन है

यह वास्तव में कार्यों के श्वेतसूची के साथ एक बुनियादी सैंडबॉक्स बनाने के लिए बहुत कठिन नहीं है और फिर संभावित असुरक्षित कार्यों के कस्टम कार्यान्वयन को जोड़ते हैं। यह SO प्रश्न एक अच्छे शुरुआती बिंदु की तरह लगता है।

लेकिन संभावना है कि मेरा सैंडबॉक्स लीक होने वाला है

मुझे लगता है कि कुछ बुनियादी सुरक्षा प्रदान करने के लिए शुरू करना पर्याप्त होगा: कुछ विशेष निर्देशिकाओं के बाहर फाइलों तक पहुंच को प्रतिबंधित करना। वैसे भी 100% सुरक्षित एप्लिकेशन जैसी कोई चीज नहीं है। सोचें कि क्या हो सकता है कि कोई व्यक्ति कुछ दुर्भावनापूर्ण बयान लिखेगा: उपयोगकर्ता शायद आपको एक डेवलपर के रूप में दोषी ठहराएंगे। यदि आप किसी को विलोपन लिखने का मौका देने की योजना बनाते हैं, तो आपको अंततः कुछ सुरक्षा की आवश्यकता होगी। यदि यह केवल आप है - यह ठीक है जैसा कि यह है।

केवल एक ही लाभ जिसके बारे में मैं सोच सकता था कि उपयोगकर्ताओं को थर्ड पार्टी स्क्रिप्ट चलाते समय सुरक्षा की कुछ समझ होगी।

यही कारण है कि आपको सैंडबॉक्सिंग करना चाहिए और यह सैंडबॉक्सिंग के खिलाफ वैध तर्क नहीं है।

नुकसान यह होगा कि यह सिर्फ विस्तार लेखकों के लिए अविश्वसनीय रूप से कष्टप्रद है

मुझे खेल पटकथा में कुछ अनुभव है और मुझे खुद के द्वारा सैंडबॉक्स किए गए वातावरण में काम करने के लिए यह कष्टप्रद नहीं लगता। मुझे क्या गुस्सा आता है, जो कार्यक्षमता से संबंधित है, जो खेल से संबंधित है, जैसे कि इन-गेम ऑब्जेक्ट्स के विशिष्ट एपीआई या इस तरह के खराब कार्यान्वयन।

यदि आप LOVE इंजन को एक अच्छे उदाहरण के रूप में देखते हैं तो यह मदद कर सकता है (यदि आप पहले से नहीं हैं), विशेष रूप से फाइलसैट एपीआई पर ट्यूटोरियल

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.