हम स्थानीय स्तर पर चल रहा है एक सर्वर के लिए एक AJAX अनुरोध पोस्ट कर रहे हैं करने के लिए मूल हेडर को जोड़े, यानीक्रोम एक ही मूल के अनुरोध
xhr.open("POST", "http://localhost:9000/context/request");
xhr.addHeader(someCustomHeaders);
xhr.send(someData);
पेज है कि इस जावास्क्रिप्ट निष्पादित किया जा रहा है भी स्थानीय होस्ट से कार्य किया जा रहा है: 9000, यानी यह पूरी तरह से एक ही मूल अनुरोध की तरह दिखता है।
हालांकि, किसी कारण के लिए, गूगल क्रोम हमेशा जिसके परिणामस्वरूप अनुरोध में कोई उत्पत्ति हैडर सेट, झूठी धारणा पर आधारित अनुरोध ब्लॉक करने के लिए है कि यह CORS अनुरोध है हमारे सर्वर के कारण।
यह फ़ायरफ़ॉक्स में नहीं होता है।
इसके अलावा, न तो फ़ायरफ़ॉक्स और न ही क्रोम एक विकल्प preflight अनुरोध है, जो भ्रामक है भेज रहे हैं; उत्पत्ति और कस्टम शीर्षलेख सर्वर द्वारा अनुमत सुनिश्चित करने के लिए पहले प्रीफ्लोइटिंग के बिना मूल शीर्षलेख सेट क्यों करें?
किसी को भी पता है कि इस मामले में चल रहा है करता है? क्या हम कॉर्स स्पेस को गलत समझ रहे हैं?
http://seclab.stanford.edu/websec/csrf/csrf.ppt देखें जो उत्तर देता है कि उत्पत्ति हेडर समान-मूल POST अनुरोधों के लिए क्यों अच्छा है। यह एक सीएसआरएफ सुरक्षा तंत्र है। – user239558