रेफ़र को कुछ मामलों में HTTPS से HTTP पर पास किया जाता है ... कैसे?


17

सिद्धांत रूप में ब्राउज़र HTTPS से HTTP साइटों पर संदर्भ जानकारी पर पास नहीं होते हैं। और मेरे अनुभव में यह हमेशा सच रहा है। लेकिन मुझे सिर्फ एक अपवाद मिला, और मैं यह समझना चाहता हूं कि यह क्यों काम करता है इसलिए मैं इसका भी उपयोग कर सकता हूं।

Https://www.google.ca/ पर "मेरा संदर्भकर्ता क्या है" इसके लिए खोजें
: https://www.google.ca/search?q=what+is+my+referer

कुछ साइटें हैं जो रेफ़र दिखाएंगी। वे सभी "काम" करने लगते हैं जब उन्हें नहीं करना चाहिए। उदाहरण के लिए, www.whatismyreferer.com एक पर क्लिक करें। मुझे मिला:

 Your referer:
 https://www.google.ca/

ध्यान दें कि कभी-कभी, शायद ही कभी, मुझे परिणाम के रूप में "कोई संदर्भ नहीं" मिलता है। वापस जाएं और फिर से लिंक पर क्लिक करें और यह अगली बार "काम" करेगा।

ऐसा न हो कि। www.whatismyreferer.com एक गैर-HTTPS साइट है। रेफर हेडर को पास नहीं किया जाना चाहिए, लेकिन यह है।

यहाँ क्या हो रहा है, और मैं अपनी HTTPS साइट से उन HTTP साइटों को कैसे कर सकता हूँ जिन्हें मैं लिंक कर रहा हूँ?


1
मुझे ध्यान देना चाहिए कि मैं विंडोज पर क्रोम का उपयोग कर रहा हूं, अगर इससे कोई अंतर पड़ता है (जैसे: यदि अन्य लोग अलग-अलग ब्राउज़र / ओएस पर अलग-अलग परिणाम देख रहे हैं)
ravisorg

यह व्यवहार कोई अधिक सत्य नहीं है।
फ्लिम्म

@ravisorg, क्या इसे S / O के बजाय पोस्ट नहीं किया जाना चाहिए?
पचेरियर

Google अब HTTPS लिंक लौटाता है, इसलिए परीक्षण अब मान्य नहीं है :-(
सिलास एस ब्राउन

जवाबों:


23

ऐसा लगता है कि यह <meta>Google द्वारा उपयोग किए जा रहे किसी नए शीर्षलेख के कारण है:

 <meta name="referrer" content="origin">

विशिष्टता: https://w3c.github.io/webappsec-referrer-policy/

यह वर्तमान में केवल कुछ ब्राउज़रों द्वारा पूरी तरह से समर्थित है , इसलिए यह एक पूर्ण समाधान नहीं है, लेकिन निश्चित रूप से एक शुरुआत है!


4

यह मानक व्यवहार है।

https://tools.ietf.org/html/rfc2616#section-15.1.3 कहता है

यदि ग्राहक एक सुरक्षित प्रोटोकॉल के साथ स्थानांतरित किया गया था, तो ग्राहक एक (गैर-सुरक्षित) HTTP अनुरोध में एक रेफर हेडर फ़ील्ड शामिल नहीं कर सकता।

इसलिए यदि आपका ग्राहक ऐसा कर रहा है, तो यह मानक का उल्लंघन कर रहा है।

तब फिर से, Google मानक है, और वे जो चाहें कर सकते हैं :-)


1
"क्या मुझे वैकल्पिक अधिकार चाहिए?"
पचेरियर

हाँ, मैं ऐसा लगता है, वैकल्पिक होगा।
जॉनशेन ६४

4
चूंकि यह वैकल्पिक है, आप यह क्यों कहते हैं कि यह मानक का उल्लंघन कर रहा है?
पचेरियर 20

1
अब तक 2616 अप्रचलित है। 7231 धारा 5.5.2 कहती है, "एक उपयोगकर्ता एजेंट को असुरक्षित HTTP अनुरोध में एक रेफरल हेडर फ़ील्ड नहीं भेजना चाहिए यदि संदर्भित पृष्ठ सुरक्षित प्रोटोकॉल के साथ प्राप्त किया गया हो।" यह निर्दिष्ट नहीं करता है कि सुरक्षित HTTP अनुरोधों के लिए एजेंट क्या करने वाले हैं।
पीटर

1

यह कुछ ऐसा प्रतीत होता है जो Google पृष्ठ पर जावास्क्रिप्ट कर रहा है। अगर मैं जावास्क्रिप्ट को अक्षम करता हूं, तो मैं इसे एनस्क्रिप्ट से सक्षम के साथ फायरफॉक्स में नहीं देखता और इसे क्रोम पर विंडोज में देखना बंद करता हूं। मुझे नहीं पता कि विशेष रूप से क्या मैं किसी भी गहरे से खोदा नहीं है।


नहीं, यह जावास्क्रिप्ट से संबंधित नहीं है (मैंने ऐसा सोचा और पूछने से पहले इसकी जाँच की)। ऐसा लगता है कि यह एक नया <meta> टैग है जो Chrome अनुसरण कर रहा है।
रविसर्ग

जावास्क्रिप्ट को अक्षम करने से रेफरी को यहां काम करने से रोकता है। मुझे नहीं पता। शायद एक से अधिक चीजें यहां शामिल हैं।
इटन रीसनर

यह बहुत दिलचस्प है - मैं इसके साथ अधिक प्रयोग करने जा रहा हूं। प्रतिक्रिया के लिए धन्यवाद!
२०:०५ पर रैविजॉर्ग

0

<meta> लेबल के विशेषता नाम में नए रेफ़रर नियम हैं, इस दस्तावेज़ से भेजे गए किसी भी अनुरोध से जुड़े HTTP रेफ़र HTTP हेडर की सामग्री को नियंत्रित करने वाले रेफ़रर।

अधिक जानकारी के लिए कृपया यहाँ देखें: RFC रेफर पॉलिसी


यह पहले से ही स्वीकृत उत्तर के समान है ?!
डॉकटर

-2

ऐसा इसलिए है क्योंकि जब आप लिंक पर क्लिक करते हैं, तो आपको https://www.google .... से http://www.google ... पर पुनः निर्देशित किया जाता है, फिर आपको www.whatismyreferer.com पर पुनः निर्देशित किया जाता है।

और जैसा आपने कहा, http वेबसाइट के बीच में रेफर प्रेषित होता है।

आप फ़ायरफ़ॉक्स एक्सटेंशन के साथ इसे देख सकते हैं


2
क्या आप अनुमान लगा रहे हैं, या आप वास्तव में इस आधार पर हैं? क्योंकि मैं अपने अंत में ऐसा नहीं देख रहा हूं। लिंक पर क्लिक करने से आप google.ca पर एक HTTPS रिडायरेक्ट और फिर अंतिम डोमेन पर भेजते हैं । जब तक मैं (जैसे) www.whatismyreferer.com पर नहीं पहुँचता, मैंने कभी भी एक गैर-https URL नहीं मारा। यह भी ध्यान दें कि रेफ़र विशेष रूप से httpS://www.google.ca बताता है , http नहीं।
रविसर्ग

हाँ, यह उत्तर गलत प्रतीत होता है।
सिजयोज़

यहाँ http हेडर्स की डंप है: pastebin.com/Y1HJyJ87 मैं सिर्फ छीन लिए गए संसाधन डाउनलोड (जैसे Google सुझाव और अन्य ajax सामान) और कुकीज़ संबंधित डेटा। लेकिन मुझे यह स्वीकार करना होगा कि जब मैंने कई बार कोशिश की थी, तो Google ने अलग तरह से व्यवहार किया था ... कभी-कभी केवल https का उपयोग करते हुए, इसलिए वेबसाइट को मुझे अपना रेफ़र दिखाने की अनुमति नहीं दी जाती है। बस अपने आप से कोशिश करें
user2299634
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.