आप निश्चित रूप से अपने MongoDB सर्वर (सर्वर) को सीधे Android एप्लिकेशन पर प्रदर्शित नहीं करना चाहते, विशेष रूप से यदि एप्लिकेशन में डेटाबेस में लिखने की अनुमति देने वाली उपयोगकर्ता भूमिका होगी। एंड्रॉइड ऐप तक पहुंच रखने वाला कोई भी संभावित रूप से उन क्रेडेंशियल्स को खोज और निकाल सकता है, और यदि आपका एंड्रॉइड ऐप एक व्यापक नेटवर्क से कनेक्ट करने के लिए डिज़ाइन किया गया है तो यह आपके मोंगोडीबी सर्वर को अनावश्यक रूप से उजागर करता है। हो सकता है कि आप अपने MongoDB सर्वर को संभावित डिनायल-ऑफ-सर्विस हमलों या दुष्ट प्रश्नों के लिए खोल रहे हों।
MongoDB दस्तावेज़ में सुरक्षा अवधारणाओं पर एक विस्तृत अनुभाग है। नेटवर्क एक्सपोजर और सुरक्षा सहित। किसी भी डेटाबेस परिनियोजन के लिए सर्वोत्तम अभ्यास नेटवर्क पतों की सीमा को सीमित करना है जो सीधे कनेक्ट हो सकते हैं। आम तौर पर सीधे कनेक्शन आपके एप्लिकेशन सर्वर और मॉनिटरिंग ऐप्स तक सीमित होने चाहिए, जो संभवत:एक ही नेटवर्क इन्फ्रास्ट्रक्चर में होस्ट किए जाते हैं।
हां, एक अनुशंसित तरीका यह होगा कि आप अपना खुद का इंटरफ़ेस लिखें जो एक उपयुक्त एपीआई और प्रमाणीकरण नियंत्रण प्रदान करता हो। आपके द्वारा लिखे जाने वाले कस्टम कोड की मात्रा को कम करने के लिए आपको एक PHP फ्रेमवर्क और/या लाइब्रेरी खोजने में सक्षम होना चाहिए (जैसे। REST, JSON, Oauth)।
आपके द्वारा कार्यान्वित इंटरफ़ेस निम्न कर सकता है:
- अंतिम उपयोगकर्ताओं द्वारा चलाए जा सकने वाले प्रश्नों के प्रकार पर कुछ प्रतिबंध लगाएं (पूर्ण MongoDB API के बजाय केवल वही जो आप प्रदान करते हैं)
- एप्लिकेशन को उपयुक्त उपयोगकर्ता विशेषाधिकारों के साथ प्रमाणित करने की अनुमति दें Android ऐप में डेटाबेस क्रेडेंशियल एम्बेड किए बिना
- टोकन-आधारित OAuth जैसी अतिरिक्त उपयोगकर्ता सुरक्षा जोड़ें या ट्विटर/फेसबुक प्रमाणीकरण
- आपके MongoDB परिनियोजन के बुनियादी ढांचे के विवरण से Android ऐप (आपके वेब इंटरफ़ेस) से कनेक्ट होने वाले समापन बिंदु को सारांशित करें
- सामान्य प्रश्नों या सत्र डेटा के लिए संभावित रूप से कैशिंग शामिल करें