मैं छवि अपलोड सेवा लिखने के लिए नोडज का उपयोग कर रहा हूं। भुगतान करने वाले ग्राहक मेरे एंडपॉइंट पर एक छवि फ़ाइल भेजने में सक्षम होंगे जो मैंने अपने सर्वर पर स्थापित किया है। हालांकि, जब हर अनुरोध आता है, तो मुझे यह पुष्टि करने की आवश्यकता है कि यह वास्तव में एक भुगतान करने वाला ग्राहक अनुरोध कर रहा है। मैंने क्लाइंट को अपना डोमेन नाम देने के बारे में सोचा और मैं सिर्फ रेफरर हेडर की जांच करूंगा। हालांकि, कोई आसानी से रेफरर हेडर को धोखा दे सकता है और बिना भुगतान किए मेरी सेवा का उपयोग कर सकता है। सास डेवलपर्स इस तकनीकी समस्या का सामना कैसे करते हैं? क्या मेरे ग्राहकों को कुछ सर्वर साइड कोड रखने की आवश्यकता के बिना इसे ठीक करना संभव है?HTTP अनुरोध में रेफरर/रेफरर को जानने का सुरक्षित तरीका क्या है?
उत्तर
आप एक रेफरर हेडर वाले ब्राउज़र को प्रमाणित नहीं कर सकते हैं।
यदि आप किसी व्यक्ति को प्रमाणित करना चाहते हैं, तो आपको संभावित रूप से एक लॉगिन सिस्टम की आवश्यकता होगी जो वे (उपयोगकर्ता नाम/pwd) को प्रमाण-पत्र प्रदान करते हैं और आप अपने अनुमत उपयोगकर्ता आधार के विरुद्ध जांचते हैं। यदि वे पास करते हैं, तो आप ब्राउज़र में एक निश्चित प्रकार की कुकी सेट करते हैं जो इंगित करता है कि वे एक वैध उपयोगकर्ता हैं। इस उपयोगकर्ता के बाद के अनुरोधों में वह कुकी होगी जिसमें आप प्रत्येक अनुरोध पर जांच कर सकते हैं।
कुकी को ऐसा कुछ होना चाहिए जो आप बनाते हैं जिसे आप सत्यापित कर सकते हैं कि आसानी से अनुमान लगाया जा सकता है या जाली नहीं हो सकती है (जैसे सत्र या आपके सर्वर से एन्क्रिप्टेड टोकन)। आप आमतौर पर कुछ समय के बाद कुकी पर एक समाप्ति सेट करेंगे ताकि उपयोगकर्ता को फिर से लॉगिन करना पड़े।
सहमत हुए। ओएथ नामक एक मुक्त, मुक्त-स्रोत ढांचा है जो आपके लिए अधिक काम करेगा: http://oauth.net। यहां जावास्क्रिप्ट कोड का एक लिंक दिया गया है जिसका उपयोग आप कर सकते हैं, क्योंकि आपने अपने प्रश्न में जावास्क्रिप्ट को टैग किया है: http://oauth.googlecode.com/svn/code/javascript/ –
आप वेबसाइटों के लिए एक बाहरी छवि होस्टिंग सेवा का निर्माण कर रहे हैं या यह कुछ है कि निजी होने की और सुरक्षित HAS साझा करने के लिए किया जाता है? यदि यह पूर्व है तो आगे पढ़ें।
बेशक, हेडर को धोखा दिया जा सकता है।
वैकल्पिक बदसूरत है:: यहाँ तुम क्यों इसके बारे में चिंता नहीं करनी चाहिए है एक सुरक्षित प्रावधान सेवा बनाने के लिए, आप टोकन प्रणाली के कुछ प्रकार है कि वेबसाइट के स्वामी अपने अंत में लागू करता है और साथ ही विकसित करने के लिए होगा। संभावना है कि वह आपके साथ साइन अप नहीं करेगा क्योंकि सरल विकल्प उपलब्ध हैं।
स्पूफिंग क्लाइंट साइड पर किया जाना होगा। बहुत कम "उपयोगकर्ता" वास्तव में ऐसा करेंगे। अपने स्वयं के मशीन पर हेडर को दो गीक स्पूफिंग करने से आपके लिए कोई बड़ा अंतर नहीं आएगा। अगर वे कुछ प्रॉक्सी या मध्यम वेयर लिखते हैं जो यह स्वचालित रूप से काम करता है और कई लोग इसका उपयोग करना शुरू करते हैं, तो यह एक समस्या हो सकती है। हालांकि यह बहुत संभावना नहीं है।
आप पहले से ही लगता है, लेकिन जब से तुम उल्लेख नहीं किया है - यह Hotlinking
कहा जाता है। अधिक संसाधन खोजने के लिए Google इस विषय को।
- 1. क्या आने वाले ईमेल को HTTP POST अनुरोध में कनवर्ट करने का कोई तरीका है?
- 2. क्या एडब्ल्यूएस खाते की उम्र जानने का कोई तरीका है?
- 3. क्या आविष्कार विधि जानने का कोई तरीका है?
- 4. लॉन्च प्रोग्राम के ढक्कन को जानने का कोई तरीका है?
- 5. एंड्रॉइड में सुरक्षित HTTP पोस्ट
- 6. http अनुरोध
- 7. पर्ल में HTTP GET अनुरोध करने का सबसे आसान तरीका क्या है?
- 8. क्या HTTP अनुरोध URL HTTP अनुरोध शीर्षलेख का हिस्सा नहीं है?
- 9. HTTP अनुरोध अनुकूलन: सीमा क्या है?
- 10. HTTPS के साथ, यूआरएल और अनुरोध हेडर सुरक्षित अनुरोध के रूप में सुरक्षित हैं?
- 11. HTTP HTTP अनुरोध को HTTPWebRequest ऑब्जेक्ट में परिवर्तित करना
- 12. HTTP प्रतिक्रिया में "एक्स -..." हेडर का उपयोग सुरक्षित है?
- 13. http अनुरोध समय को node.js
- 14. क्या एक PHP स्क्रिप्ट ब्राउज़र अनुरोध को HTTP अनुरोध खत्म करने में सोच सकता है?
- 15. क्या क्वेरीस्ट्रिंग पैरामीटर HTTPS (HTTP + SSL) में सुरक्षित हैं?
- 16. विंडोज पावरहेल से HTTP अनुरोध भेजने का सबसे अच्छा तरीका क्या है?
- 17. Node.js http अनुरोध पाइपलाइनिंग
- 18. HTTP बहु-भाग (POST) अनुरोध में सीमा पैरामीटर क्या है?
- 19. PHP SOAP HTTP अनुरोध
- 20. HTTP अनुरोधों को सत्यापित करने और Global.asax में विशिष्ट HTTP प्रतिक्रियाओं को वापस करने का एक उचित तरीका क्या है?
- 21. बाइनरी डेटा को HTTP REST API सेवा में स्थानांतरित करने का एक अच्छा तरीका क्या है?
- 22. बैच http अनुरोध
- 23. क्या एचटीटीपीएस से HTTP में JSONP अनुरोध करना संभव है?
- 24. HTTP अनुरोध mikeal की 'अनुरोध'
- 25. HTTP अनुरोध भेजें
- 26. HTTP अनुरोध के शरीर को RESTEasy
- 27. एचटीटीपीएस HTTP JSONP अनुरोध
- 28. node.js में http अनुरोध भेजना
- 29. कक्षा में सभी चर शून्य होने के बारे में जानने का सबसे अच्छा तरीका क्या है?
- 30. HTTP अनुरोध (पर्ल)
इस तरह के काम के लिए ग्राहक पक्ष पर निर्भर न करें। –
कैसे [ओएथ] (http://oauth.net/documentation/getting-started/) के बारे में? – ghoti