2012-10-15 11 views
5

मैंने हाल ही में हेरोकू पर एक फ्लास्क ऐप तैनात किया है। यह एक मौजूदा एपीआई के शीर्ष पर एक एपीआई प्रदान करता है और उपयोगकर्ता से मूल सेवा के लिए एक गोपनीय एपीआई कुंजी की आवश्यकता होती है। ऐप वास्तव में केवल कुछ रूप हैं, जिनमें से मूल्य सर्वर पर एक विशिष्ट यूआरएल के लिए AJAX के साथ पास किए जाते हैं। कुछ भी आकर्षक नहीं। मैं ऐप में गोपनीय जानकारी संग्रहीत करने के लिए कदम उठाता हूं और ऐप के भीतर कहीं भी इसका कोई निशान नहीं चाहता हूं।हेरोकू राउटर लॉगिंग प्रारूप

heroku logs --source heroku से लॉग को देखकर, हेरोकू राउटर प्रक्रिया ऐप के लिए सभी HTTP अनुरोधों को संग्रहीत करती है, जिसमें उन अनुरोधों सहित गोपनीय जानकारी शामिल है।

क्या heroku प्रक्रिया के लिए लॉग प्रारूप निर्दिष्ट करने का कोई तरीका है ताकि URL को संग्रहीत न किया जा सके?

+0

क्या यूआरएल में गोपनीय जानकारी है या केवल पोस्ट डेटा में भेजा जा रहा है? – aezell

+0

गोपनीय जानकारी यूआरएल में है कि AJAX हिट करता है। – sburns

+1

उस स्थिति में, क्या आप URL को जोड़ने से पहले डेटा को एन्कोड करने और सर्वर को हिट करते समय इसे डीकोड करने के लिए किसी प्रकार की कुंजी का उपयोग कर सकते हैं? इस तरह, जानकारी लॉग में cleartext में नहीं है। किसी नॉन और साझा गुप्त कुंजी के साथ हस्ताक्षर की तरह कुछ काम करना चाहिए। सवाल का जवाब नहीं देता है, लेकिन आपकी चिंता का समाधान हो सकता है। – aezell

उत्तर

1

जैसा कि अन्य टिप्पणीकारों ने उल्लेख किया है, यह एक यूआरएल में गोपनीय जानकारी डालने का एक बुरा अभ्यास है। ये सर्वर पर राउंडट्रिप पर कई सिस्टम (जैसे राउटर, प्रॉक्सी सर्वर, कैश) द्वारा कैश या लॉग किया जा सकता है। इस को हल करने के कुछ तरीके हैं:

  • उन्हें एक Authorization header में रख दें। आरईएसटी-आधारित एपीआई के लिए शायद यह सबसे आम तरीका प्रमाणीकरण संभाला जाता है।

  • उन्हें पोस्ट बॉडी में रखें। यह यूआरएल से बाहर निकलने के लिए काम करता है, लेकिन यह कहने के लिए थोड़ा अजीब बात है कि आप कुछ संसाधनों (यदि यह एक आरईएसटी एपीआई) को प्रमाण पत्र पोस्ट कर रहे हैं, जब तक यह एक लॉगिन कॉल न हो।

+0

मैंने बाद में POST अनुरोधों का उपयोग करने के लिए ऐप को दोहराया है। – sburns

+0

सामान्य रूप से मैं इस बात से असहमत नहीं हो सकता कि एक यूआरएल में गोपनीय जानकारी डालने से जोखिम भरा हो सकता है, एक HTTPS कनेक्शन पर यूआरएल पैरामीटर एन्क्रिप्ट किए जाते हैं। एक एपीआई की तरह कुछ के लिए, यूआरएल पैराम बहुत समझ में आ सकता है। हालांकि, मुझे अभी भी उनके बारे में कोई जवाब नहीं है कि उन्हें हेरोकू राउटर लॉग से कैसे फ़िल्टर किया जाए। – McFadden