Sending secure POST requests to MySQL/PHP server from Android -
इस सवाल का पहले से ही एक उत्तर है: < / P>
- 2 जवाब
मैं वर्तमान में एक एप्लिकेशन को मुख्य रूप से सीखने के उद्देश्य के लिए मैंने जो कुछ भी पढ़ा है, उसने मुझे भ्रमित किया है, परन्तु मेरी मदद करो। मेरा लक्ष्य एक MySQL डाटाबेस से कनेक्ट करना और डेटा पुनः प्राप्त करना है। डेटाबेस में उद्धरण, लेखकों और एक श्रेणी शामिल होती है जो बोली का संबंध है।
मुझे पता है कि PHP और MySQL पर्याप्त रूप से एक एपीआई लिखने के लिए JSON डेटा सर्वर को वापस करने के लिए। मुझे लगता है कि मैं समझता हूं कि एंड्रॉइड ऐप को एक JSON एन्कोडेड POST अनुरोध भेजने की आवश्यकता है। इसलिए मुझे लगता है कि यह किसी के लिए एप यूजर को डीकंपल करने और एपीआई यूआर को देखने के लिए संभव बनाता है और इसी तरह से अनुरोध जनरेट करता है और डाटाबेस से डेटा पुनः प्राप्त करता है।
मेरी मुख्य चिंता यह है कि मैं एंड्रॉइड से सुरक्षित तरीके से सर्वर एपीआई से बात करने के लिए कैसे अनुरोध कर सकता हूं, और यह सत्यापित कर सकता हूं कि ऐप से अनुरोध आ रहा है।
धन्यवाद पढ़ने के लिए!
अगर मैं अपना प्रश्न सही ढंग से समझता हूं, तो आप जानते हैं कि एंड्रॉइड में डाक कैसे करें, लेकिन आप इसे करने के लिए एक "सुरक्षित" रास्ता चाहते हैं मुझे लगता है कि आप जो देख रहे हैं वह प्रमाणीकरण का एक बुनियादी तरीका है।
सबसे आसान तरीका है उपयोगकर्ता लॉगिन / यूज़रनेम / पासवर्ड के साथ (जो कि यूज़रनेम साझा किए गए साझाकरण या कुछ अन्य तरीके से संग्रहीत किया जा सकता है)। जैसा कि एक उपयोगकर्ता ने बताया है, साझा की गई संदर्भों में पासवर्ड के भंडारण के बारे में चिंताएं हैं, हालांकि अन्य जवाबों के बहुसंख्यक और ऐप्स इसके लिए भंडारण की विधि का उपयोग करते हैं - केवल पासवर्ड का उपयोग करते हुए एक बार टोकन की समय सीमा समाप्त होने तक काम करेगा। पहली सफल प्रमाणीकरण के बाद सर्वर एप इस टोकन को प्रदान करेगा। आपको अपने डेटाबेस में टोकन को ट्रैक करना होगा और बेहतर सुरक्षा के लिए उन्हें समाप्ति तिथि असाइन करना होगा। यह सब SSL पर ही प्रदर्शन किया जाना चाहिए, इसलिए POST पेलोड एन्क्रिप्ट किए गए हैं।
ऐप को डंपिंग करना और अनुरोध से एपीआई एंडपॉइंट का पता लगाना दो पूरी तरह से अलग चीजें हैं। आपकी स्थिति के लिए, आपको वास्तव में अपने एंडपॉइंट को अस्पष्ट करने की चिंता नहीं है, केवल पोस्टिंग (जेएसओएन) पेलोड हासिल करने और प्राधिकरण की एक सरल विधि प्रदान करना। चाहे आपकी ओवरपॉइंट्स की जांच हो रही है, इसलिए केवल प्रमाणीकरण तंत्र को जगह में रखना सबसे अच्छा होगा, इसलिए केवल उन उपयोगकर्ताओं को अधिकृत डेटा दिखाई देगा।
सिंक एडाप्टर बनाना सभी प्रमाणीकरण कार्य को प्रबंधित करने में मदद करेगा , और उपयोगकर्ता के USERNAME (और टोकन) को साझा प्राथमिकताओं में अपेक्षाकृत सुरक्षित रूप से सहेजा जा सकता है। हालांकि, आपको अपने सर्वर पर यह उपयोगकर्ता नाम / पासवर्ड / टोकन प्रमाणीकरण सिस्टम सेट करना होगा। यहां एक उदाहरण प्रक्रिया प्रवाह है:
उपयोगकर्ता [उपयोगकर्ता नाम / पासवर्ड] - & gt; सर्वर [प्रमाणीकरण] - & gt; सर्वर [टोकन] - & gt; इसके बाद, एप अपने टोकन तक समापन बिंदु के साथ प्रमाणित करेगा जब तक इसकी समय सीमा समाप्त नहीं हो जाती (सर्वर इस समय की अवधि समाप्त होने पर एप को सूचित करेगा):
<पूर्व> उपयोगकर्ता [टोकन] - & gt; सर्वर [टोकन मान्य करता है] - & gt; उपयोगकर्ता [डेटा] - & gt; सर्वर [डेटा]
टोकन एक यादृच्छिक GUID के रूप में कुछ सरल हो सकता है।
यह सुनिश्चित करेगा कि उपयोगकर्ता डेटा प्राप्त करने के लिए अधिकृत है और केवल प्रदर्शन किया जाना चाहिए पोस्टिंग अनुरोध के माध्यम से और SSL पर केवल JSON पेलोड को सुनिश्चित करने के लिए जितना संभव हो सके उतना सुरक्षित है, आप यहां अन्य क्षेत्रों के एक पूरे समूह में जा सकते हैं, जैसे कि जानवरों के बल के हमलों या किसी और चीज के साथ आपके एपीआई पर लोगों को बमबारी करने से रोकने के लिए दर-सीमित अनुरोध, लेकिन यह सब सर्वर की तरफ से किया जाएगा।
यह निश्चित है कि यह ऐसा करने के लिए सबसे अधिक सुरक्षित तरीके नहीं है, क्योंकि ओएथ जैसे बेहतर प्रोटोकॉल हैं, लेकिन वे एक साधारण क्लाइंट / सर्वर एप
एक सिंक एडेप्टर बनाना:
एंड्रॉइड में एक HTTP पोस्ट कैसे करें:
PHP GUID:
Comments
Post a Comment