2011-10-27 10 views
5

  में रेफरर हेडर सेट करें यह एक आसान सवाल होना चाहिए, लेकिन मैं इसे हल करने में असमर्थ हूं। मैं एक HttpResponse ऑब्जेक्ट के पृष्ठ को पुनर्निर्देशित करने से पहले रेफ़रल शीर्षलेख बदलने की कोशिश कर रहा हूं। मुझे पता है कि यह एक HttpWebResponse में किया जा सकता है, लेकिन इसे मानक पृष्ठ के लिए काम करने के लिए नहीं मिल सकता है। प्रतिक्रिया।
  मैं अपनी साइट पर एक अस्थायी पृष्ठ से उत्पन्न होने के लिए रेफरर हेडर सेट करने की कोशिश कर रहा हूं (यह बाहरी सिस्टम के लिए एनालिटिक्स ट्रैकिंग के लिए है)।
  क्या यह संभव है ??
  मैंने नीचे दिए गए कोड का उपयोग करने की कोशिश की है (साथ ही Response.AppendHeader और Response.AddHeader जैसे बदलाव), हालांकि रेफरर हमेशा उस पृष्ठ के रूप में दिखाता है जिस पर अनुरोध शुरू हुआ था।एएसपीनेट

 Response.Headers.Add("Referer", "http://test.local/fromA"); 
     Response.Redirect(HttpContext.Current.Request.Url.AbsoluteUri); 

यदि .NET के माध्यम से नहीं है तो यह जेएस के माध्यम से पूरा किया जा सकता है?
धन्यवाद!

+0

संभावित डुप्लिकेट: http://stackoverflow.com/questions/243057/response-redirect-strips-header-referrer- संभावित-to-add-it-back – fardjad

उत्तर

6

रेफरर क्लाइंट द्वारा नियंत्रित (और भेजा गया) है। आप सर्वर-साइड को प्रभावित नहीं कर सकते हैं। कुछ जावास्क्रिप्ट हो सकते हैं जो आप उत्सर्जित कर सकते हैं जो ग्राहक को ऐसा करने के लिए मिल जाएगा - लेकिन शायद इसे सुरक्षा दोष माना जाता है, इसलिए मैं उस पर भरोसा नहीं करता।

+0

जेएस का उपयोग कर रेफरर को बदलना भी एक सुरक्षा उल्लंघन है। इसलिए अधिकांश ब्राउज़रों में इसकी अनुमति नहीं है। – theusguy

5

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