2011-07-22 16 views
9

मैं हाल ही में पाइथन अचार और सीपीकल मॉड्यूल की सुरक्षा समस्याओं में आया था। जाहिर है, जब तक आप थोड़ा अधिक सुरक्षा प्राप्त करने के लिए मूल संशोधन के रूप में find_class विधि को ओवरराइट नहीं करते हैं, तब तक अचार में लागू कोई वास्तविक सुरक्षा उपायों नहीं हैं। लेकिन मैं अक्सर सुना है कि JSON अधिक सुरक्षित है।JSON बनाम अचार सुरक्षा

क्या कोई इस पर थोड़ा सा विस्तार कर सकता है? 'जेएसओएन अचार की तुलना में अधिक सुरक्षित क्यों है?

बहुत बहुत धन्यवाद! मार्क

+3

"पार आया" से आपका क्या मतलब है? आपने कुछ ऐसा पढ़ा जो कहा कि वे असुरक्षित थे? आपने कुछ ऐसा किया जो हैक हो गया? और क्या? –

उत्तर

12

जेसन अधिक सुरक्षित है क्योंकि यह मूल रूप से अधिक सीमित है। एकमात्र पायथन प्रकार जो एक जेसन दस्तावेज़ एन्कोड कर सकते हैं unicode, int, float, NoneType, bool, list और dict हैं। ये मूल रूप से मामूली फैशन में मार्शल/अनारशल्ड हैं जो कोड इंजेक्शन हमलों के लिए कमजोर नहीं हैं।

6

अचार की समस्या यह है कि यह मनमाने ढंग से पायथन कोड का आह्वान कर सकती है। विवरण के लिए http://nadiana.com/python-pickle-insecure देखें। JSON पार्सर को केवल स्ट्रिंग्स, संख्याएं, सूचियां, डिस्केट आदि बनाना है। यह उपयोगकर्ता द्वारा परिभाषित कक्षाओं को कभी नहीं बनाता है, इसलिए इसे मनमाने ढंग से पायथन निष्पादित करने की आवश्यकता नहीं है।

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