हम उद्यम अनुप्रयोगों के निर्माण के लिए breeze js पर विचार कर रहे हैं।विंड.जेएस सुरक्षा को संभालने और व्यापार तर्क को उजागर करने से कैसे बचाता है
हवा की उत्कृष्टता यह है कि हम ग्राहक ब्राउज़र से सीधे प्रश्न निष्पादित कर सकते हैं। यह अनावश्यक डेटा लोड किए बिना उपयोगकर्ताओं इनपुट के आधार पर गतिशील क्वेरी तैयार करने की अनुमति देता है। मैंने पाया है कि ब्रीज़ का उपयोग करके हम व्यवसाय तर्क बना सकते हैं जो आलसी लोडिंग रणनीति का उपयोग करते समय 1/10 या उससे भी अधिक समय तक डेटा को स्थानांतरित/स्थानांतरित कर देता है। these
Hooray हवा जैसे प्रश्नों का उपयोग करना !!!
लेकिन व्यापार तर्क सुरक्षा के बारे में क्या, उदाहरण के लिए, हमारे पास एक भंडार हो सकता है जिसमें हम अपने व्यापार तर्क को छुपा सकते हैं, छुपा सकते हैं और अस्पष्ट कर सकते हैं; और फिर उन रिपॉजिटरी सी # कक्षाओं को कॉल करने के लिए एमवीसी वेब एपीआई नियंत्रकों का उपयोग करें। तो वेबपृष्ठ नियंत्रक के लिए जावास्क्रिप्ट वार्तालाप और वेब एपीआई नियंत्रक सी # भंडार से बात करता है। नियंत्रकों को हमेशा पढ़ने के लिए बहुत ही सरल और आसान रखा जाएगा, लेकिन रिपोजिटरी आवेदन के उपयोग से कंपनी के लिए बहुत सारे व्यवसाय तर्क को समाप्त कर सकती है। इसलिए यदि कोई हैकर जावास्क्रिप्ट कोड का निरीक्षण करने के लिए Google क्रोम डेवलपर का कंसोल उपयोग करता है, तो वह सभी देखेंगे जैसे GetCustomers(), GetProductsForThisId (54)। वहां बहुत अधिक जानकारी नहीं है जिसे देखा जा सकता है (या चोरी हो सकता है)। क्योंकि 90% बिजनेस लॉजिक सर्वर पर सी # रेपॉजिटरी पर लाइव होगा।
कैसे breeze.js कि निपटने है?
यदि हम "नियंत्रक के सी # से हवा जावास्क्रिप्ट" तक प्रश्नों और व्यावसायिक तर्क को स्थानांतरित करना शुरू करते हैं, तो हमें यह मानना होगा कि हमारी प्रणाली सदस्यता आधारित है। मुझे लगता है कि हम जावास्क्रिप्ट में क्लाइंट को जितने अधिक प्रश्नों का पर्दाफाश करते हैं, उतना ही कमजोर हमारा सॉफ़्टवेयर बन जाता है, और जितना अधिक हम हैकर्स को हमारी वेबसाइट को हैक करने और संभवतः चोरी चोरी करने के बारे में बताते हैं।
मुझे लगता है कि यहां चिंता है यदि ऐसे प्रश्न हैं जहां उपयोगकर्ता के लिए पंक्तियां नहीं थीं। यह कीड़े का एक खुलता है। जब आप इसे किसी मौजूदा ऐप पर बोल्ट करते हैं तो शायद अधिक चिंता का विषय। लेकिन अगर आप अपने सिस्टम को हवा में दिमाग से डिजाइन करते हैं तो मुझे लगता है कि प्रश्न ठीक होना चाहिए –
यह एक महत्वपूर्ण सुरक्षा बाधा हो सकती है ... और आपको सर्वर पर पूर्ण और निश्चित ज्ञान के साथ सर्वर पर लागू होना चाहिए। यह सुनिश्चित करने के लिए काम है *** कोई फर्क नहीं पड़ता कि आप अपने सर्वर-साइड एपीआई कैसे बनाते हैं ***। ब्रीज़ आपको इस तरह की चीज़ों के साथ बहुत मदद नहीं करता है ... लेकिन यह किसी भी तरह से खड़ा नहीं है। – Ward
@ वार्ड, मुझे आपका जवाब समझ में नहीं आया। मुझे लगता है कि क्वेरी सुविधा जोखिम का पर्दाफाश करती है और मुझे नहीं लगता कि जोखिम को कैसे रोकें। आइए मान लें कि सर्वर एक प्रतिबंधित इकाई से संबंधित एक अप्रतिबंधित इकाई के लिए एक क्वेरी एंट्री पॉइंट का खुलासा करता है। मैं क्लाइंट को प्रतिबंधित इकाई को शामिल करने के लिए लिखूंगा, लेकिन एक दुर्भावनापूर्ण ग्राहक इसका अनुरोध कर सकता है। इसे रोकने के लिए मैं सर्वर कैसे लिखूं? मैं पूरी तरह से सहमत हूं कि मुझे "आवश्यक सुरक्षा बाधाओं को लागू करने" और "सर्वर पर लागू करने" की आवश्यकता है, लेकिन सवाल यह है कि मैं यह कैसे कर सकता हूं? क्या मैं क्वेरी का विश्लेषण करता हूं? क्वेरी परिणाम की प्रत्येक इकाई का निरीक्षण करें? – steve