2012-07-13 17 views
21

तो, मैं अपने स्वयं के उपयोग के लिए और शायद गिट पर एक ओपन सोर्स प्रोजेक्ट के लिए एक छोटा सा एप्लीकेशन विकसित कर रहा हूं। मैं Envato Marketplaces से एक एपीआई का उपयोग कर रहा हूं, और जैसा कि आप सभी जानते हैं कि कुछ ऐसे ऑपरेशन हैं जिन्हें किसी भी कुंजी की आवश्यकता नहीं है, लेकिन साथ ही कुछ ऐसे हैं जिनकी आवश्यकता होती है।जावास्क्रिप्ट का उपयोग करते समय एपीआई कुंजी की रक्षा कैसे करें?

मैं पहली बार PHP में Envato एपीआई के लिए एक अच्छी एपीआई आवरण बना दिया है, लेकिन फिर मैं जावास्क्रिप्ट के साथ एक छोटा सा प्रयोग करने का फैसला किया, तो मैं जावास्क्रिप्ट के साथ एक ही आवरण विकसित करने कर रहा हूँ। अब तक मुझे सार्वजनिक परिचालनों में कोई समस्या नहीं है, लेकिन अब मुझे एपीआई कुंजी का उपयोग करना है।

मेरा प्रश्न होगा यदि जावास्क्रिप्ट में एपीआई कुंजी की रक्षा करने का कोई तरीका है। मैं इसे सादा पाठ में नहीं डाल सकता क्योंकि इसका उपयोग उन लोगों द्वारा किया जा सकता है जो कोड देखते हैं। तो क्या एक कार्यान्वयन होगा जहां एपीआई गुप्त रहती है? शायद एक्सएचआर के साथ एक JSON पाठ फ़ाइल से इसे पकड़ना?

+3

क्या आपके जावास्क्रिप्ट कॉल गोपनीयता पक्ष की आवश्यकता वाले तरीकों को कॉल करने के लिए सर्वर साइड php के साथ इंटरैक्ट करते हैं। – asawyer

+1

@asawyer: आपको इसे – Dancrumb

+0

@asawyer के रूप में रखना चाहिए - यही बात है, मैं इसे पहले ही PHP के साथ कर रहा हूं, अब मैं केवल जेएस के साथ ऐसा करने की कोशिश कर रहा हूं। तो केवल जेएस के साथ ऐसा करना असंभव होगा? क्या होगा यदि मैं एक कॉल करता हूं जो XHR के साथ JSON फ़ाइल से कुंजी पकड़ लेता है और फिर उसे विधि में पास करता है? – Roland

उत्तर

18

लघु जवाब: नहीं

क्या कभी आप कुंजी अंधेरा करना है, तो आप अभी भी यह ग्राहक किसी भी तरह पर उपलब्ध बनाने के लिए इसे भेजने के लिए है, और इसलिए यह fx का उपयोग कर इसे निकालने के लिए संभव नहीं होगा। Firebug।

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

करना सही बात API कॉल कुंजी की आवश्यकता होती है चारों ओर एक PHP आवरण बनाने के लिए, और फिर जावास्क्रिप्ट से कि आवरण कहते हैं।

+9

कुंजी संरक्षित की जाएगी लेकिन ऑपरेशन नहीं होगा। यदि दरवाजा खुला रहता है तो चोर को कुंजी की आवश्यकता नहीं होती है। –

+2

क्या PHP रैपर लागू कर सकता है कि अनुरोध एक ही डोमेन से उत्पन्न होते हैं? "समान उत्पत्ति नीति" से इसका क्या संबंध है? ऐसा लगता है कि यह अनुरोधकर्ता निर्धारित करने के लिए विश्वसनीय रूप से करने योग्य नहीं है: http://stackoverflow.com/questions/1153967/php-source-hostname-of-a-get-request ...? – Toph

+1

रैपर कुछ कैसे बदल सकता है? –