मुझे लगता है कि JSON.parse() एक हमलावर को जावास्क्रिप्ट को प्रतिक्रिया में इंजेक्शन देने से रोकता है क्योंकि एक JSON पार्सर केवल एक पाठ पार्सर है, स्क्रिप्ट पार्सर नहीं है, इसलिए कृपया इसे बंद न करें अन्य सभी प्रश्नों का एक डुप्लिकेट है उसके बारे में। यह एक अलग सवाल है।JSON.parse() eval() से वास्तव में सुरक्षित है जब वेब पेज और AJAX कॉल उसी सर्वर से आते हैं?
यदि कोई हमलावर आपके अजाक्स कॉल को हाइजैक कर सकता है और अजाक्स कॉल में जावास्क्रिप्ट डाल सकता है, तो वे आपके वास्तविक वेबपृष्ठ को हाइजैक करने में सक्षम नहीं होंगे और आपके पृष्ठ में मनमाने ढंग से जावास्क्रिप्ट डालने की संभावना है, जिससे वे एक ही हमले को पूरा कर सकते हैं ?
निश्चित रूप से, आपके पास eval() के बजाय JSON.parse() का उपयोग करके खोने के लिए कुछ भी नहीं है (जब तक आपके पास अपने पर्यावरण में अभी तक JSON पार्सर नहीं है और उसे प्राप्त करने के लिए और कोड जोड़ना है), लेकिन क्या यदि आपके वेब पेज को आपके एजेक्स कॉल के समान होस्ट द्वारा सेवा दी जा रही है तो क्या स्थिति वास्तव में सुरक्षा जोड़ती है?
मुझे आश्चर्य है कि यह [आईटी सुरक्षा स्टैक एक्सचेंज] (http://security.stackexchange.com) पर है या नहीं? –
मैंने इसे यहां रखा क्योंकि यह वह जगह है जहां हर कोई जो कोड का एक टुकड़ा पोस्ट करता है जो eval() का उपयोग करता है, यह कितना असुरक्षित है। – jfriend00