2012-07-29 23 views
6

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

+0

इस तरह के काम के लिए ग्राहक पक्ष पर निर्भर न करें। –

+0

कैसे [ओएथ] (http://oauth.net/documentation/getting-started/) के बारे में? – ghoti

उत्तर

1

आप एक रेफरर हेडर वाले ब्राउज़र को प्रमाणित नहीं कर सकते हैं।

यदि आप किसी व्यक्ति को प्रमाणित करना चाहते हैं, तो आपको संभावित रूप से एक लॉगिन सिस्टम की आवश्यकता होगी जो वे (उपयोगकर्ता नाम/pwd) को प्रमाण-पत्र प्रदान करते हैं और आप अपने अनुमत उपयोगकर्ता आधार के विरुद्ध जांचते हैं। यदि वे पास करते हैं, तो आप ब्राउज़र में एक निश्चित प्रकार की कुकी सेट करते हैं जो इंगित करता है कि वे एक वैध उपयोगकर्ता हैं। इस उपयोगकर्ता के बाद के अनुरोधों में वह कुकी होगी जिसमें आप प्रत्येक अनुरोध पर जांच कर सकते हैं।

कुकी को ऐसा कुछ होना चाहिए जो आप बनाते हैं जिसे आप सत्यापित कर सकते हैं कि आसानी से अनुमान लगाया जा सकता है या जाली नहीं हो सकती है (जैसे सत्र या आपके सर्वर से एन्क्रिप्टेड टोकन)। आप आमतौर पर कुछ समय के बाद कुकी पर एक समाप्ति सेट करेंगे ताकि उपयोगकर्ता को फिर से लॉगिन करना पड़े।

+0

सहमत हुए। ओएथ नामक एक मुक्त, मुक्त-स्रोत ढांचा है जो आपके लिए अधिक काम करेगा: http://oauth.net। यहां जावास्क्रिप्ट कोड का एक लिंक दिया गया है जिसका उपयोग आप कर सकते हैं, क्योंकि आपने अपने प्रश्न में जावास्क्रिप्ट को टैग किया है: http://oauth.googlecode.com/svn/code/javascript/ –

2

आप वेबसाइटों के लिए एक बाहरी छवि होस्टिंग सेवा का निर्माण कर रहे हैं या यह कुछ है कि निजी होने की और सुरक्षित HAS साझा करने के लिए किया जाता है? यदि यह पूर्व है तो आगे पढ़ें।

बेशक, हेडर को धोखा दिया जा सकता है।

  1. वैकल्पिक बदसूरत है:: यहाँ तुम क्यों इसके बारे में चिंता नहीं करनी चाहिए है एक सुरक्षित प्रावधान सेवा बनाने के लिए, आप टोकन प्रणाली के कुछ प्रकार है कि वेबसाइट के स्वामी अपने अंत में लागू करता है और साथ ही विकसित करने के लिए होगा। संभावना है कि वह आपके साथ साइन अप नहीं करेगा क्योंकि सरल विकल्प उपलब्ध हैं।

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

आप पहले से ही लगता है, लेकिन जब से तुम उल्लेख नहीं किया है - यह Hotlinking कहा जाता है। अधिक संसाधन खोजने के लिए Google इस विषय को।

संबंधित मुद्दे