अपनी Google मानचित्र API कुंजी की सुरक्षा के लिए मुझे क्या कदम उठाने चाहिए?


94

मैंने अपने डोमेन के लिए Google मानचित्र API कुंजी प्राप्त की है।

उदाहरण के लिए, जब मैंने अपना कुंजी प्राप्त किया, उदाहरण के लिए अनुरोध पैरामीटर में कुंजी प्रदर्शित की गई है, उदाहरण के लिए:

<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=true_or_false&amp;key=my-key" type="text/javascript"></script>

मैं सराहना करता हूं कि अनुरोधों में संदर्भित क्षेत्र मेरे डोमेन से मेल खाना चाहिए, क्या यह मेरी कुंजी को स्क्रिप्ट टैग और इस तरह दिखाई देना सुरक्षित है? या क्या मुझे कोई और कदम उठाना चाहिए?

जवाबों:


90

यह ध्यान में रखते हुए कि <script>आपके HTML पृष्ठों के टैग में कुंजी को शामिल किया जाना है, Google के सर्वर से JS फाइल / डेटा लोड करने के लिए, ऐसा कुछ भी नहीं है जो आप कर सकते हैं:

  • आपको इसे अपनी HTML फ़ाइलों में रखना होगा
  • हर एक उन पर एक नज़र डाल सकते हैं।

फिर भी, यह वास्तव में कोई मायने नहीं रखता है: अगर कोई भी आपकी तुलना में किसी अन्य डोमेन पर इस कुंजी का उपयोग करने की कोशिश करता है, तो उन्हें एक जावास्क्रिप्ट अलर्ट मिलेगा - जो कि उपयोगकर्ताओं के लिए अच्छा नहीं है।

इसलिए :

  • आपके करने लायक कुछ नहीं है ; इस तरह से यह काम करता है
  • और बहुत कुछ आप के बारे में चिंता नहीं करनी चाहिए, मैं कहूँगा।

5
मुझे लगता है कि आप अपनी खुद की साइट पर एक प्रॉक्सी का उपयोग कर सकते हैं जो "वास्तविक" फ़ाइल लाने के लिए कुंजी का उपयोग करती है। पूरी तरह से व्यर्थ, हाँ, लेकिन मुझे लगता है कि यह संभव है।
टिम सिल्वेस्टर

1
यह पता लगाने के लायक था कि मैं कुछ चूक गया था। जवाब देने वालों को खुश किया।
brabster

@ समय: निश्चित नहीं; मैं स्वयं ही JS कोड का अनुमान लगा रहा हूं यदि मानचित्र प्रदर्शित करने वाली साइट के डोमेन नाम को मिटा दिया जाए, और यह सामान्य प्रतीत होगा कि उसने इसकी तुलना की, किसी तरह से, कुंजी में शामिल जानकारी के साथ - फिर भी, मैंने किया कोशिश नहीं। ;;; @ ब्रेस्टर: :-)
पास्कल मार्टिन

2
उदाहरण के लिए यह महत्वपूर्ण है कि अगर हम अपने एपीआई कुंजी के बैंडविथ उपयोग की रक्षा करना चाहते हैं। मेरे समाधान की जाँच करें।
इफान इकबाल

3
और क्या होगा यदि मैं अपने स्वयं के एपीपी (विंडोज़ / आईओएस / एंड्रॉइड) में उपयोग करने के लिए एपीआई कुंजी लेता हूं? मैं रेफरल का अनुकरण कर सकता हूं और अपनी लागत पर अपने उद्देश्य के लिए इस कुंजी का उपयोग कर सकता हूं!
लोकी

21

Google API कंसोल पर सेटिंग है जो आपके API बैंडविथ के उपयोग को किसी अन्य डोमेन / उपयोगकर्ता द्वारा उपयोग किए जाने से बचा सकता है। आप एपीआई कंसोल पर रेफरल का उपयोग करके उसे प्रतिबंधित और संरक्षित कर सकते हैं। एपीआई कुंजी आपके प्रतिबंधों से मेल खाने वाले रेफरल के अनुरोधों को अस्वीकार कर देगी।

यहाँ एपीआई कुंजी के लिए Google से स्क्रीनशॉट है जो केवल Google द्वारा अपने दो डोमेन का उपयोग किया जा सकता है। यहां छवि विवरण दर्ज करें


3
मोबाइल उपयोगकर्ताओं के बारे में क्या?
मुहम्मद उमर

थोड़ा जोड़ने के लिए, विवरण यहां दिए जा सकते हैं। Developers.google.com/maps/…
SIslam

14

हालांकि यह सवाल कुछ साल पुराना है लेकिन यह बहुत अच्छा है। जैसा कि मैं समझता हूं कि यह एपीआई कुंजियों को उजागर करता है, भले ही वे डोमेन से मेल खाते हों, फिर भी दुरुपयोग हो सकता है। यहां सुरक्षा स्टैक एक्सचेंज पर एक पोस्ट है जो इसे और अधिक विस्तार से कवर करता है।

संभावित दुरुपयोग से बचने के लिए आप जो कदम उठा सकते हैं, वह Google द्वारा यहां प्रकाशित किया गया है:

एपीआई का सुरक्षित रूप से उपयोग करने के लिए सर्वोत्तम अभ्यास गाइड: https://support.google.com/cloud/answer/6310037?hl=en

हालाँकि, मैं बोर्ड पर सभी को लेने की सिफारिश करूंगा, लेकिन एक दृष्टिकोण है जो ब्रैबस्टर द्वारा पोस्ट किए गए विशिष्ट उदाहरण के साथ व्यवहार करेगा और वह एक पर्यावरण चर में कुंजी को संग्रहीत करेगा । इस तरह आपको बस इतना करना है कि सर्वर-साइड वैरिएबल की कुंजी को बदलना है जो आपके प्रोजेक्ट में संग्रहीत है। हालाँकि, सुनिश्चित करें कि फ़ाइल को सार्वजनिक रिपॉजिटरी में रखने वाली फ़ाइल को कमिट न करें।


16
मुझे यह भी लगता है कि यह उत्तर प्रश्न को संबोधित नहीं करता है। एपीआई एपीआई के लिए ब्राउज़र-साइड जावास्क्रिप्ट की आवश्यकता होती है, जो हमेशा किसी के द्वारा पढ़ा जाता है जो पृष्ठ को प्राप्त करता है।
दाविद वैन ब्रिंक

-1

कुंजी को सुरक्षित रखने और संभालने के लिए आपको बैक एंड / सर्वर साइड का उपयोग करना चाहिए। मेरे मामले में मैंने Django f / w सर्वर साइड का उपयोग किया था जो सर्वर स्क्रिप्ट / डीबी से कुंजी प्राप्त करने के लिए अजाक्स कॉल की सेवा कर सकता है और फिर इसे गूगल एप पर पास कर सकता है।


4
यदि आपकी API कुंजी कभी भी ब्राउज़र तक पहुँचती है, तो इसे किसी तृतीय पक्ष द्वारा पुनः प्राप्त किया जा सकता है।
मोस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.