नोट: मैं .. इस एक के लिए कुछ टैग सुझाव की सराहना करेंगे,उपयोगकर्ता एक प्रोग्रामिंग भाषा के एक sandboxed संस्करण की अनुमति दे
मैं पर प्रोग्राम के रूप में जोड़ तोड़ डेटा की एक विधि के साथ अपने उपयोगकर्ताओं को प्रदान करना चाहते हैं सर्वर। यह बाद में दिनांक में निष्पादित करने के लिए एक इन-ब्राउज़र कोड संपादक का उपयोग करके किया जाएगा, https://www.onx.ms नियोजित तरीके से भिन्न नहीं है।
मैं एक डीएसएल (गोद लेने के लिए बाधा) लिखने से बचना चाहता हूं, और उस भाषा को प्राथमिकता दूंगा जो उपयोगकर्ता या तो जावास्क्रिप्ट या रूबी आधारित है।
मेरी स्पष्ट चिंता सुरक्षा है। मैं उपयोगकर्ता उत्पन्न कोड को सर्वर-साइड चलाने की अनुमति देने के खतरों को समझता हूं, लेकिन जोखिम को खत्म करने के लिए मैं क्या कदम उठा सकता हूं?
http://railsforzombies.com जैसी साइटें वास्तव में irb
का उपयोग करती हैं, या यह उससे कहीं अधिक सरल है?
काजा सेवा हमलों से इनकार करने के खिलाफ सैंडबॉक्स नहीं करता है। इसमें एक शाश्वत 'जबकि (सत्य) {}' लूप या बहुत सारी मेमोरी आवंटित करने वाले उपयोगकर्ता के खिलाफ कोई बचाव नहीं है। एक सैंडबॉक्स किए गए आइफ्रेम में जावास्क्रिप्ट में समान सुरक्षा गारंटी (और डॉस सुरक्षा की कमी) का उपयोग करने के लिए आसान होने और अधिक मानक होने के दौरान काजा के रूप में होता है। – AgentME