मैं वी 8 के लिए नया हूं और इसे एक पायथन वेब एप्लिकेशन में उपयोग करने की योजना बना रहा हूं। इसका उद्देश्य उपयोगकर्ताओं को कुछ जेएस स्क्रिप्ट सबमिट और निष्पादित करना है। जाहिर है यह एक सुरक्षा खतरा है इसलिए मैं उन संसाधनों की तलाश में हूं जो किसी तरीके को दस्तावेज कर सकते हैं जो v8 'लॉक डाउन' हो सकता है। उदाहरण के लिए, क्या मैं बुलाए जाने वाले कार्यों की एक सफेद सूची बना सकता हूं? या पुस्तकालयों की एक ब्लैकलिस्ट संदर्भित करने की अनुमति नहीं है?वी 8 "लॉक डाउन" कैसे करें?
उत्तर
बस वी 8 इंस्टेंस को लॉक कर देगा (यानी: इसे एक क्रोट में कोई अनुमति नहीं दे रहा है) और प्रक्रिया को मारना अगर यह निश्चित समय के बाद वापस नहीं आता है?
यदि आप एक सादे V8 (यानी node.js की तरह कुछ नहीं) का उपयोग करते हैं तो कोई खतरनाक कार्य नहीं होगा। जावास्क्रिप्ट में स्वयं में फाइल सिस्टम फ़ंक्शन इत्यादि नहीं हैं।
एकमात्र चीज जो दुर्भावनापूर्ण उपयोगकर्ता कर सकती है वह अनंत लूप, गहरी रिकर्सन और मेमोरी होग्स बना रही है।
को तोड़ने के बारे में हजारों उदाहरणों के साथ देर से टिप्पणी के लिए खेद है, लेकिन मुझे इसमें भी रूचि है। आप उपयोगकर्ता को मेमोरी/प्रोसेसिंग कोटा से अधिक कैसे रोक सकते हैं? – slezica
कोई विचार नहीं। कृपया इसके लिए [नया प्रश्न पोस्ट करें] (http://stackoverflow.com/questions/ask)। – ThiefMaster
मैंने अभी इसके बारे में एक नया प्रश्न पोस्ट किया है: http://stackoverflow.com/questions/11637075/how-do-i-prevent-malicious-javascript-in-v8-with-python – Gattster
बीटीडब्ल्यू क्यों उन्हें पायथन स्क्रिप्ट सबमिट करने की अनुमति नहीं है? यह आपके आर्किटेक्चर को थोड़ा सा सरल बना देगा। :-) (इसका उल्लेख करना था)। और हां, उन स्क्रिप्ट के लिए एक सुरक्षित पायथन सैंडबॉक्स बनाना संभव है – Kos
@ कोस कैसे? मुझे भी दिलचस्पी है, लेकिन मैं हर जगह पढ़ रहा हूं कि पाइथन लगभग असुरक्षित है, – slezica