2015-07-29 5 views
5

मैं कुछ उपयोगकर्ता इनपुट का मूल्यांकन करने के लिए स्पेल का उपयोग करना चाहता हूं। लेकिन यह एक सुरक्षा छेद खोलता है क्योंकि स्पेल एंजिंग भी कोड निष्पादित करता है और कक्षाएं शुरू कर सकता है और स्थिर वस्तुओं तक पहुंच सकता है। उदाहरण के लिए टी (सिस्टम) .exit (0) सिस्टम से बाहर निकलता है।स्प्रिंग ईएल (एसपीईएल) कोड निष्पादन

क्या इस प्रकार के कोड निष्पादन को रोकना संभव है?

उत्तर

0

इससे बचने का तरीका अभिव्यक्ति भाषा में उपयोगकर्ता इनपुट का मूल्यांकन कभी नहीं करना है।

आप अधिक संभवतः गणना करने में सक्षम नहीं होंगे और इसलिए सभी संभावित "खराब" कोड को निष्पादित करने से रोकेंगे।

इसके बजाय, आप उपयोगकर्ता इनपुट को निश्चित चर-अभिव्यक्तियों के साथ पर्यावरण चर (तार, संख्या) के रूप में उपयोग कर सकते हैं।

संबंधित मुद्दे