2015-04-18 14 views
7

के लिए क्रॉस मूल अनुरोधों की अनुमति देना मेरी वेबसाइट http और https दोनों प्रोटोकॉल दोनों का समर्थन करती है। हालांकि .htaccess फ़ाइल में नीचे दिए गए कोड का उपयोग कर, मैं केवल अनुमति देने के लिए एक डोमेन सेट कर सकते हैं CORS अनुरोध:http और https

Header set Access-Control-Allow-Origin: http://example.com

मैं अपनी साइट की http और https दोनों संस्करणों के लिए CORS (न केवल अनुमति देना चाहते हैं "*") और यहाँ समाधान की कोशिश की: Access-Control-Allow-Origin Multiple Origin Domains?

लेकिन समस्या यह है कि सभी समाधान अनुरोध जो मौजूद नहीं हो सकता है और यह भी सुरक्षित नहीं है में Origin हेडर पर भरोसा है। (कोई भी उनके अनुरोध में मूल शीर्षलेख डाल सकता है)

मैं जानना चाहता हूं कि अनुरोध https पर दिया गया है और उचित जानकारी को उचित कोर सेट करने के लिए उपयोग करें। इस तरह कुछ:

SetEnvIf servedOverHttps httpsOrigin=true 
Header set Access-Control-Allow-Origin: https://example.me env=httpsOrigin 

SetEnvIf notServedOverHttps httpOrigin=true 
Header set Access-Control-Allow-Origin: http://example.me env=httpOrigin 

मैं कैसे पता लगा सकता हूं कि यह एक https अनुरोध है?

उत्तर

3

क्या आपने HTTPS चर का उपयोग करने का प्रयास किया है?

यह सभी https अनुरोधों के लिए "on" पर सेट किया जाएगा। आपका .htaccess इस

Header set Access-Control-Allow-Origin: http://example.com    #default 
Header set Access-Control-Allow-Origin: https://example.com env=HTTPS #override if https 
+1

क्या एक अगर php फ़ाइल से प्रोग्राम के रूप में हेडर स्थापित कर रही है की तरह दिखना चाहिए? – Vivek

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