दिलचस्प पोस्ट
सी ++ विन्सॉक पी 2 पी क्या मैं हर एक्शन के पहले ugi.checkTGTAndReloginFromKeytab () को कॉल करूं? लगातार मेमोरी से इनपुट स्ट्रीम बनाना पासिंग एड्रेस, लेकिन यह सी में वैल्यू से कॉल की तरह काम कर रहा है? .css फ़ाइल को बिना फ़ाइल में आयात करें मैं जावा में सिस्टम टाइम कैसे सेट कर सकता हूं? जावास्क्रिप्ट में एक आइफ्रेम के शरीर की सामग्री कैसे प्राप्त करें? गतिविधि संदर्भ और अनुप्रयोग संदर्भ के बीच का अंतर उरी से अलग-अलग क्वेरी पैरामीटर प्राप्त करें जावा रेगेक्स को कैप्चरिंग समूह के साथ बदलें Chrome में पृष्ठभूमि रंग प्रिंट करें एक आइफ्रेम पर कोणीय, ऑनलोड फ़ंक्शन regex c ++ 11 में कॉलबैक के साथ बदलते हैं? एडीएल के नुकसान क्या हैं? UICollectionView एक एकल कक्ष को अपडेट करें

जावास्क्रिप्ट क्रॉस-डोमेन कॉल: एचटीटीपी से HTTPS तक कॉल करें

मुझे उसी डोमेन के लिए एक सुरक्षित (HTTPS) यूआरएल के लिए एक अतुल्यकालिक कॉल करने की आवश्यकता है I

वर्तमान में यह पृष्ठ नियमित HTTP (गैर-सुरक्षित) के साथ काम कर रहा है।

दूसरे शब्दों में: यह एक ही डोमेन में यूआरएल बुला रहा है, लेकिन HTTPS का इस्तेमाल करता है।

इस कॉल को स्विच करने से पहले, HTTPS ने क्रॉस-डोमेन एजेएक्स कॉल्स को अनुमति देने के लिए सर्वर-साइड प्रॉक्सी को कार्यान्वित करने से पहले, लेकिन अब मुझे एक ही मूल नीति का सामना करना पड़ रहा है क्योंकि HTTP और HTTPS को अलग-अलग मूल माना जाता है तो यह प्रॉक्सी व्यर्थ है

सारांश: इस परिदृश्य में क्रॉस-डोमेन कैसे करें, asynnchronous POST अनुरोध करें?

विभिन्न नोट:

  • मैं जेएसओएनपी का सुझाव देने वाले कोई भी जवाब स्वीकार नहीं कर सका। अतुल्यकालिक कॉल्स POST क्रिया का उपयोग करना होगा।
  • मैं jQuery के नवीनतम संस्करण का उपयोग कर रहा हूँ उत्तर इस पुस्तकालय पर आधारित हो सकता है, या कोई अन्य समस्या इस समस्या को हल कर सकता है।
  • पूरे पृष्ठ को HTTPS पर पहुंचने से कोई हल नहीं होता है
  • सर्वर प्लेटफ़ॉर्म माइक्रोसॉफ्ट। नेट 4.0 (एएसपी.नेट 4.0) है।
  • यूडीपीएटी : कॉरस एक विकल्प नहीं है। आधुनिक ब्राउज़रों में इसके लिए कोई व्यापक समर्थन नहीं है

Solutions Collecting From Web of "जावास्क्रिप्ट क्रॉस-डोमेन कॉल: एचटीटीपी से HTTPS तक कॉल करें"

सबसे पहले, मैंने @ मैसिंगो और पीआईएएनंबर से दोनों प्रश्न +1 किए हैं I

बहुत सारे घंटे बिताने के बाद, मैं निष्कर्ष पर पहुंच गया हूं कि मैं पूरे पृष्ठ को HTTPS पर स्विच करने जा रहा हूं। ऐसा इसलिए है क्योंकि:

  • अधिकांश आधुनिक ब्राउज़र सीओआरएस का समर्थन करते हैं, लेकिन इंटरनेट एक्सप्लोरर, 8 वीं संस्करण से शुरू होने वाले मालिकानापन (XDomainRequest ऑब्जेक्ट) होता है, जो कुछ कंप्यूटरों में निष्क्रिय हो सकता है (मेरा इंटरनेट डोमेन पर सुरक्षा में डिफ़ॉल्ट रूप से अक्षम है)।

    • ओपेरा कॉरस का समर्थन नहीं करता है 12 वीं संस्करण इसका समर्थन करेगा, लेकिन यह एक विकल्प नहीं है क्योंकि उपयोगकर्ताओं को पहले इस नए संस्करण को अपनाना चाहिए और यह 2 दिनों में नहीं होगा।

    • मुझे क्रॉस-डोमेन अनुरोधों को करने की आवश्यकता है क्योंकि वेब क्लाइंट एप्लिकेशन को दूसरे डोमेन में स्थित एक स्थाई सेवा परत का अनुरोध करना होगा। बिल्कुल नहीं।

    • सबकुछ को HTTPS में स्विच करना सेवा परत प्रॉक्सी दृष्टिकोण फिर से काम करता है (यह अपेक्षित व्यवहार है)।

वैसे भी धन्यवाद क्योंकि दोनों उत्तर ने इस निष्कर्ष पर पहुंचने में मुझे बहुत मदद की है

अद्यतन करें

@ सैम ने एक टिप्पणी जोड़ा है जो किसी के लिए दिलचस्प हो सकती है यह इंटरनेट एक्सप्लोरर 8 और 9 (देखें # 7) में सीओआरएस कैसे प्राप्त करें, इसके बारे में है: http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-imitations-and-workarounds aspx

मैं एक्सेस-कंट्रोल-अनुमति-मूल का उपयोग कर रहा हूं आप सिर्फ हेडर भेजते हैं और आप ठीक हैं।

यह भी देखें AJAX, उपडोमेन, और SSL

आपको HTTPS पर संपूर्ण पृष्ठ तक पहुंचने पर पुनर्विचार करना चाहिए या कम से कम वास्तव में यह सुनिश्चित करना चाहिए कि यह संभव नहीं है।

HTTP पर प्रारंभिक पृष्ठ और लिपि को लोड करके उपयोगकर्ता को कोई सुरक्षा गारंटी नहीं है कि स्क्रिप्ट आपके लिए मूल रूप से भेजना है और तीसरी पार्टी द्वारा उसका उपयोग नहीं किया जा रहा है (उदाहरण के लिए, उसका पासवर्ड keylogging)। इसका मतलब यह है कि एसओपी को बायपास करने वाले किसी भी HTTPS अनुरोध HTTPS पर मूल रूप से सेवा की गई एक पृष्ठ से एक HTTPS अनुरोध के रूप में एक ही सुरक्षा गारंटी प्रदान नहीं करेगा।

क्या किसी को भी देखा है:

https://github.com/jpillora/xdomain

यह सीओएस अनुरोध प्राप्त करने के लिए पोस्ट मेसेज और आईफ्रेम का उपयोग करता है, और क्रॉस ब्राउज़र है (IE में XDomainRenves को दबाने के लिए कोई ज़रूरत नहीं है)।

शायद यह क्रॉस प्रोटोकॉल सीओएस अनुरोधों की अनुमति देगा?