2012-08-31 19 views
5

मुझे पता है कि लगभग एक डुप्लिकेट प्रश्न है, लेकिन जवाब बिल्कुल संतोषजनक नहीं है।क्या एचटीटीपीएस से HTTP में JSONP अनुरोध करना संभव है?

मैं OpenStreetMap सेवा है जो HTTP पर चलाता है का उपयोग कर जियोकोडिंग करने की ज़रूरत है।

मेरी साइट HTTPS पर चलती है।

यह https से JSONP अनुरोध करने के लिए http करने के लिए असंभव लगता है, ब्राउज़र (क्रोम) असुरक्षित सामग्री के बारे में शिकायत।

कोई समाधान?

उत्तर

5

कारण यह है कि ब्राउज़र असुरक्षित सामग्री के बारे में शिकायत है कि सामग्री असुरक्षित है। एक सुरक्षित पृष्ठ के साथ पूरा उद्देश्य यह है कि यह सब सुरक्षित है, और भरोसा किया जा सकता है।

आप अपने सुरक्षित साइट है कि असुरक्षित सामग्री का अनुरोध करता है में एक प्रॉक्सी पेज सेट कर सकते हैं। वहां आपको ब्राउज़र पर भेजे जाने से पहले सामग्री को सत्यापित करना चाहिए, ताकि यह वास्तव में सुरक्षित हो, न केवल सुरक्षित होने का नाटक कर रहा है।

+0

तो, कोई वास्तविक परिदृश्य में, मेरे JQuery (http में एक पॉपअप एकमात्र समाधान के लिए मैं सोच सकते हैं खोलना चाहिए), JSONP प्रतिक्रिया प्राप्त करें और इसे पार्स करें? – Cranio

+1

एक वास्तविक परिदृश्य में, आपको सुरक्षित पृष्ठ पर अनएन्क्रिप्टेड चैनलों के माध्यम से सामग्री लोड नहीं करना चाहिए। यदि आप सुरक्षा के बारे में गंभीर नहीं हैं, तो बस पहले स्थान पर HTTP का उपयोग करें। – Tgr

+1

@ क्रैनियो: नहीं, प्रॉक्सी जो मैं बात कर रहा हूं वह सर्वर पर एक पृष्ठ है। आप इसके लिए एक https अनुरोध करते हैं, और यह सेवा के लिए http अनुरोध करता है, प्रतिक्रिया सत्यापित करता है, और इसे ब्राउज़र पर लौटाता है। – Guffa

3

आप एक बाहरी सेवा जो HTTP के अधीन ही कार्य करते हुए प्रारंभिक अनुरोध HTTPS से आ रही है यह हमेशा असुरक्षित माना जाएगा करने के लिए एक पोस्ट अनुरोध बनाना चाहते हैं। जहां तक ​​मुझे पता है, इसके चारों ओर कोई रास्ता नहीं है।

आप क्या कर सकते हैं, अपने बैकएंड जो कि HTTP के तहत चल रहा है सेवा के लिए एक और पोस्ट अनुरोध भेजने के लिए पोस्ट है। वहां से केवल HTTP सेवा द्वारा लौटाए गए मान को वापस कर दें।

+0

आपको ** ** ** केवल सेवा से मूल्य वापस नहीं करना चाहिए, आपको इसे पहले सत्यापित करना चाहिए। प्रॉक्सी असुरक्षित डेटा ले रहा है और सुरक्षित डेटा पर लौट रहा है, इसलिए यह जांचना ज़िम्मेदारी है कि यह वास्तव में सुरक्षित है। – Guffa

+0

अंत में यदि आप सुरक्षित हैं तो अंत में आप डेटा वापस करना चाहते हैं। अन्यथा अनुरोध करने में पहले स्थान पर कोई उपयोग नहीं है। –

+0

मैंने कहा कि आपको इसे पहले सत्यापित करना चाहिए। आपको क्या लगता है अगला आता है? ;) – Guffa

3

जिनके लिए यह चिंता कर सकता है, इस तरह मैंने इसे स्वयं हल किया।

1) मेरी जावास्क्रिप्ट कोड पैरामीटर मैं सेवा

2) AJAX पृष्ठ पता

3 का उपयोग कर्ल के माध्यम से एक अनुरोध करता है को अग्रेषित करने की आवश्यकता के साथ अपने सर्वर पर कोई AJAX पृष्ठ कॉल) मैं प्रतिक्रिया स्वच्छ और जावास्क्रिप्ट के कॉलबैक-ऑन-सफलता के साथ JSON

4) में बदल मैं डेटा का उपयोग

+0

हाँ, यह अच्छा लग रहा है। प्रॉक्सी पेज को अपरिवर्तित प्रतिक्रिया वापस करने की आवश्यकता नहीं है। – Guffa

+0

@ गुफा: हाँ, यह निर्देशांक की एक जोड़ी है, PHP के माध्यम से sanitize करने के लिए बहुत आसान है। मदद के लिए धन्यवाद :) – Cranio

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