2012-01-13 15 views
11

हम URLReferrer और ऑनलाइन वीडियो बनाने के लिए क्वेरी स्ट्रिंग पर पारित कोड का उपयोग करते हैं ताकि केवल हमारे सशुल्क ग्राहक हमारे वीडियो प्लेबैक पृष्ठ से लिंक कर सकें। इस प्रणाली ने कुछ समय के लिए अच्छी तरह से काम किया है। मुझे पता है कि यूआरएल रेफरर को धोखा दिया जा सकता है, लेकिन वीडियो को एक्सेस करने के लिए अपने ग्राहकों को ऐसी चीज करने के लिए कौन कहेंगे? यह हमारे लिए अच्छा काम करता है।URLReferrer शून्य है जब पृष्ठ HTTPS

हालांकि, आज मुझे किसी ऐसे व्यक्ति के बारे में पूछा गया जिसके लिए यह काम नहीं करता है। URLReferrer शून्य है, और उनकी साइट HTTPS है। मैंने ऑनलाइन कुछ पढ़ा है और मुझे लगता है कि स्रोत पृष्ठ https होने पर URL संदर्भकर्ता तक पहुंचने का कोई तरीका नहीं है। क्या ये सही है ? अगर मैंने हमारी साइट का https संस्करण बनाया है, तो क्या यह इसे हल करेगा? या मेरे पास इस के आसपास जाने का कोई और तरीका है?

धन्यवाद

उत्तर

13

आपका ऑनलाइन शोध सही है। एक HTTP रेफरर हेडर या समकक्ष सेट करने का मुख्य कारण यह है कि यह एक सुरक्षा समस्या हो सकती है। रेफरर में "आप कहां से आते हैं", यह निजी जानकारी है, और दूसरों के सामने नहीं आना चाहिए, अन्यथा यह सुरक्षित साइट होने के लिए क्या उपयोग है यदि हर कोई ट्रैक कर सकता है कि आप कहां गए हैं?

तो: यदि रेफरर एन्क्रिप्ट किया गया है (एसएसएल या अन्यथा के साथ) आप रेफरर नहीं प्राप्त कर सकते हैं।


अद्यतन:

ग्राहक एक (गैर-सुरक्षित) HTTP अनुरोध में एक Referer हेडर क्षेत्र शामिल नहीं होना चाहिए अगर जिक्र पेज एक सुरक्षित प्रोटोकॉल के साथ स्थानांतरित किया गया था: यहाँ क्या HTTP specification says about coming from a secure site है।

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

+0

धन्यवाद - कुंजी के साथ समस्या यह है कि कोई व्यक्ति अपने पृष्ठ से लिंक कॉपी कर सकता है और इसका उपयोग कर सकता है, यही वह है जिसे हम टालने की कोशिश कर रहे हैं। चूंकि यह एक वीडियो है, स्पष्ट समाधान केवल उन्हें अपने पृष्ठ पर वीडियो एम्बेड करने की अनुमति देता है, और हमारे प्लेबैक पेज से लिंक नहीं होता है। – cgraus

+0

पहले से ही पसंद किया गया है, बस चुनने के लिए, आप HTTP spec उद्धृत कर रहे हैं, न कि [HTTPS spec] (http://tools.ietf.org/html/rfc2818) ;-) – Bruno

+0

@ ब्रूनो: आप ' ठीक है, मैं पर्याप्त ध्यान नहीं दे रहा था। फिक्स्ड। – Abel