मैं सिर्फ शोध कर रहा था, eval()
फ़ंक्शन का उपयोग क्यों खराब है और मुझे कोड इंजेक्शन हमलों के लिए कमजोर होने का एक कारण मिला (पोस्ट: Why is using the JavaScript eval function a bad idea?)।हमें जावास्क्रिप्ट में कोड इंजेक्शन के बारे में क्यों पता होना चाहिए?
लेकिन मेरा सवाल है, क्या हमें जावास्क्रिप्ट में कोड इंजेक्शन के बारे में चिंतित होने की आवश्यकता है? क्योंकि, यदि कोई उपयोगकर्ता किसी वेबसाइट के लिए कोई जेएस स्क्रिप्ट चलाने के लिए चाहता है, तो वह इसे कंसोल में चलाकर कर सकता है।
तो, मैं बस सोच रहा हूं कि यह कितना अतिरिक्त नुकसान हो सकता है, अगर कोई मेरे जावास्क्रिप्ट कोड में अपना कोड इंजेक्ट करने में सफल होता है?
संपादित
नीचे ओलियंडर के जवाब के आधार पर, मैं जोखिम में से एक रास्ता मिल गया है जब हम ब्राउज़र और सर्वर के माध्यम से AJAX कॉल के बीच संचार की है। यह सही समझ में आता है। लेकिन मेरे पास जावास्क्रिप्ट प्रोग्राम हो सकते हैं जो केवल ब्राउज़र में चलते हैं और बैकएंड के लिए कोई संचार नहीं है, उदाहरण के लिए कैलकुलेटर या सरल गेम। तो यहां मेरा पूरक प्रश्न है, क्या कोई अन्य कारण है जो इन कार्यक्रमों को कमजोर बना सकता है?
कोड इंजेक्शन हानिकारक होते हैं जब वे उपयोगकर्ता के अलावा किसी अन्य व्यक्ति द्वारा बनाए जाते हैं। क्या आप सुनिश्चित हैं कि आपका उपयोगकर्ता केवल एक ही है जो 'eval' के तर्क को नियंत्रित करता है? – Bergi
जब मैं जावास्क्रिप्ट के बारे में बात कर रहा हूं, तो यह उपयोगकर्ता होना चाहिए, केवल इनपुट (रूपों में) को संशोधित कर सकता है। मुझे किसी अन्य तरीके से यकीन नहीं है।क्या आपके पास कोई और संभावित उदाहरण है? –
@TareqMahmood मैंने एक उदाहरण पोस्ट किया – Oleander