2010-10-26 11 views
15

मुझे पता है कि सुरक्षा कारणों से क्रॉस-डोमेन अनुरोध अस्वीकृत हैं, लेकिन मैं इस धारणा के तहत था कि केवल शीर्ष-स्तरीय डोमेन से मिलान करने की आवश्यकता है , कि विभिन्न उप-डोमेन ठीक थे। हालांकि, मैं क्रोम 7 से इस त्रुटि हो रही है:मैंने सोचा कि क्रॉस-सबडोमेन AJAX अनुरोधों की अनुमति थी, लेकिन यह क्रोम त्रुटि अन्यथा इंगित करती है

"। असुरक्षित जावास्क्रिप्ट यूआरएल के साथ फ्रेम से URL http://foo.somedomain.com/dir/page.html साथ फ्रेम पहुंचने का प्रयास करें http://bar.somedomain.com/otherdir/otherpage.html डोमेन, प्रोटोकॉल और बंदरगाहों से मेल खाना चाहिए"

वास्तव में क्या इन के लिए नियम हैं अनुरोध के प्रकार?

+3

मैं क्रोम के लिए मेरी उंगली ओर इशारा करते हुए नहीं कर रहा था, मैं सिर्फ उनका कहना था कि यह क्रोम जो मुझे इस जानकारीपूर्ण जवाब यह है कि वास्तव में नियमों :) की मेरी समझ पर सवाल उठाया दे रहा था था – Matt

उत्तर

16

संक्षेप में, एक ही मूल नीति के नियम हैं:

  • ही मेजबान
  • ही बंदरगाह
  • एक ही प्रोटोकॉल

अपने उदाहरण में आप मेजबान नियम का उल्लंघन कर रहे, चूंकि एक अलग सबडोमेन दूसरे होस्ट की तुलना में एक अलग मेजबान/आईपी को इंगित कर सकता है, भले ही दूसरा स्तर डोमेन समान हो।

यदि आपके पास कोई अन्य संभावना नहीं है, तो आप अपने AJAX अनुरोध में JSONP का उपयोग करने का प्रयास कर सकते हैं; इसमें कोई एसओपी नहीं है।

Reference

5

किसी भी ब्राउज़र में कोई क्रॉस उप डोमेन अनुरोध की अनुमति नहीं है। लेकिन का उपयोग करके CORS जैसे कुछ तरीके हैं, इसे बनाने के लिए document.domain सेट करना (हालांकि कुछ सीमाओं के साथ)।

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