2013-05-06 3 views
5

भेजता है मैं सर्वर पर अनुरोध भेजने के लिए IE8 & 9 में XDomainRequest का उपयोग कर रहा हूं। अन्य ब्राउज़र में XMLHttpRequests के साथ, दोनों एक Origin और Referer हैडर भेजे जाते हैं, और ऐसा दिखाई दे सकता:आईई 8/9 AJAX/CORS (XDomainRequest) रेफरर हेडर

Origin: http://www.example.com 
Referer: http://www.example.com/mypage/index.htm 

लेकिन XDomainRequest केवल ओरिजिन (तो मैं पूर्ण बुला URL नहीं दिखाई देता) भेजता है। क्या रेफरर को भेजने के लिए इसे मजबूर करने का कोई तरीका है? मैं इसे एक क्वेरी स्ट्रिंग या POST पैरामीटर के रूप में भेजने से बचने की कोशिश कर रहा हूं।

मुझे पता है कि XDomainRequest कस्टम हेडर की अनुमति नहीं है, लेकिन मैं आशा करती हूं कि क्योंकि Referer एक मानक हेडर है वहाँ इसे सक्षम करने के किसी तरह से हो सकता है।

+1

आपको रेफरर के लिए क्या चाहिए? – Bergi

+0

कॉलर का पूरा यूआरएल देखने के लिए। मूल केवल रूट डोमेन प्रदान करता है। विशेष रूप से, मैं लॉगिंग के लिए इसका उपयोग करता हूं और एक्सेस कंट्रोल का एक बहुत ही कच्चा रूप (रेफरर को धोखा देने के लिए अंत उपयोगकर्ता की भागीदारी या ब्राउजर प्लगइन की आवश्यकता होती है)। – Dave

+0

एक्सेस नियंत्रण? इसके लिए रेफरर का उपयोग न करें, इसे आसानी से धोखा दिया जा सकता है और सटीक होने की गारंटी नहीं है (आपका आईई उदाहरण, प्रॉक्सी, आदि)। – Bergi

उत्तर

1

मेरे सह-देवताओं में से एक को यह समस्या थी, कि सीओआरएस सेवा जिसे वे कॉल कर रहे थे, "सुरक्षा" के लिए हेडर की आवश्यकता थी, लेकिन आईई हेडर नहीं भेज सका। हम अलग से IE8/9 हेडर समस्या का कोई समाधान नहीं मिला:

  1. सेवा एक हैडर
  2. की आवश्यकता नहीं है कि एक प्रॉक्सी हेडर आप अपने अनुरोध पर की जरूरत है संलग्न कर देगा किया है।

विकल्प 2 समझाया गया है - एक वेब प्रॉक्सी सेट अप करें, जो हेडर के बिना कॉल स्वीकार करेगा। यह फिर सीओआरएस कॉल करता है और अनुरोध पर हेडर जोड़ता है। यह पेलोड प्राप्त करता है और इसे आपके अनुरोध पर आगे बढ़ाता है।

इसके लायक होने के लिए, हम विकल्प 1 के साथ गए।

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