मुझे लगता है कि यह किसी भी इनपुट पर अविश्वास करने के लिए वेब पर एक प्रसिद्ध सर्वोत्तम अभ्यास है। वाक्यक्या JSON को sanitizing आवश्यक है?
"सभी इनपुट बुरा है।"
शायद इनपुट सत्यापन के संबंध में सबसे अधिक उद्धृत उद्धरण है। अब, एचटीएमएल के लिए आप इसे स्वच्छ करने के लिए DOMPurify जैसे टूल का उपयोग कर सकते हैं।
मेरा सवाल यह है कि, यदि मेरे पास JSN प्राप्त करने और पार्स करने के लिए Node.js सर्वर चल रहा है और body-parser मिडलवेयर है, तो क्या मुझे कोई भी sanitizing चलाने की आवश्यकता है?
मेरा (शायद बेवकूफ़?) इस पर विचार है कि JSON केवल डेटा, कोई कोड नहीं है, और यदि कोई अमान्य JSON भेजता है, तो बॉडी-पार्सर (जो JSON.parse()
आंतरिक रूप से उपयोग करता है) वैसे भी असफल हो जाएगा, इसलिए मुझे पता है कि मेरा ऐप होगा एक मान्य जावास्क्रिप्ट ऑब्जेक्ट प्राप्त करें। जब तक मैं उस पर eval नहीं चलाता या एक समारोह बुलाता हूं, मुझे ठीक होना चाहिए, है ना?
क्या मुझे कुछ याद आ रही है?
ऐसा लगता है:
उदाहरण के लिए, यहाँ एक पार्स समारोह है कि गुणों के साथ एक वस्तु की उम्मीद है इन चेकों के कुछ लागू होने वाला है और आप किसी फ़िल्टर किए गए परिणाम यह है कि केवल गुण आप उम्मीद कर रहे थे शामिल देता है मेरे लिए बॉडी पार्सर पहले ही इनपुट को स्वच्छ कर रहा है, इसलिए आपको ऐसा करने की आवश्यकता नहीं है। दूसरी तरफ, इनपुट में कोई नुकसान नहीं होता है जब तक कि यह एक प्रदर्शन बाधा न हो, तब तक दोगुना संवेदीकरण किया जा सकता है। –