ब्राउज़र पर भरोसा न करें, उपयोगकर्ता को प्रमाणित करने के लिए चरण उठाएं। इसलिए, इस मामले में, आपको आवश्यकता हो सकती है कि आप उस पासवर्ड में प्रवेश करें जिसका उपयोग आपके सर्वर से संवाद करने के लिए किया जाता है।
आपके Google एक्सटेंशन को आपके सर्वर के साथ संवाद करने के लिए AJAX का उपयोग करने से पहले पासवर्ड में प्रवेश करने की आवश्यकता होगी।
ध्यान रखें कि आपको अपने आप को क्रूर-बल हमलों से बचाने के साधनों का निर्माण करना चाहिए। तो, अगर कुछ छोटी संख्या में गलत पासवर्ड हैं, तो कुछ भी लॉक करें जैसे
आप एक्सएचआर के गंतव्य को बस डिक्रिप्ट करने के लिए पासवर्ड का उपयोग करने पर भी विचार कर सकते हैं, लेकिन यदि आप इस मार्ग पर जाते हैं, तो आप इसे बहुत सावधानी से स्टोर करना चाहिए, क्योंकि यह क्रूर-बलवान ऑफ़लाइन होगा।
संपादित ताकि केवल एक ही आवेदन यह सिर्फ व्यावहारिक नहीं है और न ही तकनीकी रूप से संभव है का उपयोग कर सकते एक API को लॉक करने के लिए कोशिश कर रहा है, तो आप ऐसा करने का ही उम्मीद एपीआई का उपयोग कर उपयोगकर्ता को प्रमाणित करने, परवाह किए बिना कर रहे हैं वह उपयोग करने वाले सॉफ्टवेयर का उपयोग कर रहा है। आप उपयोगकर्ता को एक समझौते पर हस्ताक्षर कर सकते हैं जो कानूनी रूप से उन्हें केवल आपके एक्सटेंशन तक ही सीमित कर देता है, लेकिन मुझे संदेह है कि यह काफी हद तक लागू नहीं होगा और आपके समय को दुरुपयोग करने वालों को ट्रैक करेगा।
यदि आप अनधिकृत लोगों को यह भी नहीं जानते कि एपीआई कहां है, तो आप आउट-ऑफ-बैंड तंत्र का उपयोग करके प्रमाणीकरण कर सकते हैं: टेलीफोन, ईमेल, एसएमएस या बस, एक और एपीआई जो उपयोगकर्ता को प्रदान करेगा आपके एपीआई के लिए अनुरोध करने वाले पासवर्ड या टोकन के साथ होना चाहिए।
इस आउट ऑफ़ बैंड प्रक्रिया के दौरान, आप उपयोगकर्ता को एक अद्वितीय यूआरआई (एपीआई एक्सेस पॉइंट) भी प्रदान कर सकते हैं जो प्रति प्रमाणीकृत सत्र (उदाहरण के लिए https://api.totally-cool-extension.com/api/ijyeDvB5dYvSiWG97OLuTAoNWwbhuZ0/) मान्य है। अन्य यूआरआई पर आपके सर्वर के लिए कोई भी अनुरोध बस काम नहीं करेगा। हालांकि, यह एक ही एपीआई एक्सेस पॉइंट का उपयोग करने और एक अच्छा पासवर्ड रखने से सैद्धांतिक रूप से बहुत अलग नहीं है। यह सिर्फ आपके आर्किटेक्चर में स्थानों की संख्या को बदलता है जो प्रमाणीकरण और/या प्राधिकरण जांच कर रहे होंगे।
<aside>
मेरा वोट प्राधिकरण/प्रमाणीकरण बिंदुओं की संख्या को जितना संभव हो सके कम करने के लिए होगा ताकि आप एक स्थान को कई जगहों और संभवतः एकाधिक तर्क त्रुटियों या अन्य चीजों के बजाय सही जगह पर प्राप्त करने में अधिक समय व्यतीत कर सकें। कमजोरियों का कारण बन सकता है। </aside>
आप सार्वजनिक कुंजी इंफ्रास्ट्रक्चर और/या एक बार की पासवर्ड योजनाओं या डिवाइस-आधारित टोकन जेनरेटर आदि का उपयोग करके भी पता लगा सकते हैं, लेकिन अंत में, आप प्रमाणीकृत और अधिकृत उपयोगकर्ताओं को अपने एपीआई का उपयोग करने की अनुमति देंगे। और, इंटरनेट के लिए धन्यवाद, यह लंबे समय तक एक अज्ञात यूआरआई नहीं रहेगा।
और, सबसे महत्वपूर्ण बात यह है कि यह किसी को डेटा का उपयोग करने से नहीं रोकेगा। इन सभी उपायों के स्थान पर भी, एक अधिकृत उपयोगकर्ता के लिए यह डेटा एकत्र करने के लिए यह छोटा होगा क्योंकि यह आपके एक्सटेंशन में स्ट्रीम किया जा रहा है। या, यदि आप पॉइंट-टू-पॉइंट एन्क्रिप्शन को नियोजित करते हैं, तो वे आपके कोड पर जेएस आत्मनिरीक्षण के कुछ रूपों को स्क्रीन-स्क्रैप या उपयोग कर सकते हैं या डेटा को अपने कंप्यूटर की स्मृति से निकाल सकते हैं।
मुझे पता है कि आप यहां चांदी की बुलेट की तलाश में थे, लेकिन यह अस्तित्व में नहीं है।
आप क्रोम एक्सटेंशन में एक सार्वजनिक एपीआई का पर्दाफाश करते हैं - और आप एक्सटेंशन के अन्य उपयोगकर्ताओं को इसका उपयोग नहीं करना चाहते हैं? तब एपीआई का क्या अर्थ है? – madflow
आप Google क्रोम प्रमाणीकरण एपीआई का उपयोग करके अपने उपयोगकर्ता की पहचान कर सकते हैं और उपयोगकर्ता को अधिकार सुनिश्चित करने के लिए अपनी तरफ से कुछ सामान स्टोर कर सकते हैं। यह गूगल दस्तावेज़ देखें; http://developer.chrome.com/apps/app_identity.html – happy
@madflow, अगर मैं केवल अधिकृत लोगों द्वारा उपयोग किए जाने के लिए अपना एपीआई चाहता हूं, तो इसमें कोई अर्थ नहीं है? – dav