VPN CORS अक्षम करू शकत नाही, तो प्रतिसाद बदलतो
नवीन एक्झिट पत्ता दोन ओरिजिन एकसारखे करत नाही. दोन्ही मार्गांवर प्रतिसाद हेडर कॅप्चर करा आणि CORS च्या अंमलबजावणीला दोष देण्यापूर्वी त्यांची तुलना करा.
एकाच वेळी बदललेल्या दोन गोष्टी वेगळ्या करून सुरुवात करा: नेटवर्क मार्ग आणि ब्राउझरची अंमलबजावणी। VPN एक्झिट पत्ता बदलतो; तो पृष्ठाचे ओरिजिन बदलत नाही, जे स्कीम, होस्ट आणि पोर्टने बनते। जर विनंती आता यशस्वी होत असेल, तर प्रतिसादात काहीतरी बदलले आहे, किंवा विनंतीच बदलली आहे। कोणते ते शोधणे हीच संपूर्ण तपासणी।
CORS हा ब्राउझर लागू करत असलेला हेडर प्रोटोकॉल आहे, म्हणून नेटवर्क मार्गावरील काहीही तो बंद करू शकत नाही।
ओरिजिन हा IP पत्ता नाही
ओरिजिन म्हणजे स्कीम, होस्ट आणि पोर्ट। पॅकेट ज्या पत्त्यावरून बाहेर पडतात तो पत्ता नाही आणि सर्व्हर जो IP पाहतो तोही नाही। त्यामुळे VPN प्रत्येक निरीक्षण करण्यायोग्य पत्ता बदलू शकतो आणि ओरिजिन तसेच ठेवू शकतो। ब्राउझर प्रतिसादातील Access-Control-Allow-Origin ची पृष्ठाच्या ओरिजिनशी तुलना करतो, आणि एक्झिट पत्ता त्या तुलनेत कधीच येत नाही।
म्हणून CORS त्रुटी दुरुस्त करत असल्यासारखे वाटणारे एक्स्टेंशन किंवा प्रॉक्सी दुसरे काहीतरी करते: हेडर पुन्हा लिहिते, किंवा विनंती अशी राउट करते की ती आता क्रॉस-ओरिजिन राहत नाही। दोन्हीपैकी कोणतेही VPN चा गुणधर्म नाही।
ब्राउझर प्रत्यक्षात काय पाठवतो
साधी नसलेल्या क्रॉस-ओरिजिन विनंतीसाठी ब्राउझर प्रथम इच्छित मेथड आणि हेडर घेऊन प्री-फ्लाइट OPTIONS पाठवतो। सर्व्हरने आपल्या अनुमत परवानग्यांसह उत्तर द्यावे लागते, आणि ते उत्तर नियम पूर्ण करत असेल तरच खरी विनंती पुढे जाते। VPN दोन्ही देवाणघेवाण वाहून नेणारा मार्ग बदलतो आणि मधल्या सेवा काय उत्तर देतात ते बदलू शकतो। पण तो ओरिजिन स्ट्रिंग किंवा प्री-फ्लाइटची अट बदलत नाही।
कमांड-लाइन क्लायंट सहसा त्यातले काहीच दाखवत नाही। तो Origin हेडर पाठवत नसेल, प्री-फ्लाइट अनेकदा वगळतो, आणि वेगळी क्रेडेन्शियल्स घेऊन जाऊ शकतो। curl ला परत दिलेले बॉडी सिद्ध करते की सर्व्हरने curl ला उत्तर दिले।
बदललेला प्रतिसाद शोधा
फक्त स्थिती कोड नाही, प्रत्येक मार्गावरील प्रत्यक्ष प्रतिसादाची तुलना करा। CORS परवानग्या वाहणारे हेडर, सामग्रीचा प्रकार, कोणतेही रीडायरेक्ट, आणि WAF किंवा CDN व्हेरियंटने वेगळे पृष्ठ तयार केले का ते पहा। प्रादेशिक नकार, प्रमाणीकरण रीडायरेक्ट किंवा परवानगी-हेडर नसलेले त्रुटी पृष्ठ—सर्व ब्राउझरमध्ये अयशस्वी होतात पण CORS बगसारखे दिसतात। ते डिलिव्हरी-मार्गातील फरक आहेत, आणि तेच नोंदवायचे आहेत।
दोन्ही मार्गांचे प्रतिसाद हेडर कॅप्चर करा आणि ओळीने ओळ तुलना करा। जर एकमेव फरक एका त्रुटी पृष्ठावर Access-Control-Allow-Origin नसणे असेल, तर तुम्ही कारण शोधले आहे।
अंमलबजावणी नाही, सेवा दुरुस्त करा
जेव्हा सेवा तुमची असेल, तेव्हा अनुमत ओरिजिन आणि विनंतीची वैशिष्ट्ये स्पष्टपणे सांगा, नंतर तिचे फ्रंटएंड आणि मध्यस्थ निर्माण करत असलेल्या त्रुटी वाचा। न केल्यास सेवा मालकाला स्वच्छ केलेली तुलना पाठवा। त्या अहवालात कधीही कुकीज, प्राधिकरण हेडर किंवा सत्र निर्यात समाविष्ट करू नका, कारण धोरण तीच क्रेडेन्शियल्स संरक्षित करण्यासाठी आहे।
CORS अक्षम करणाऱ्या ब्राउझर एक्स्टेंशन्स टाळा। ते सुरक्षा सीमा बदलतात आणि स्पष्ट करावा लागणारा प्रतिसाद-फरक लपवतात, आणि इतर प्रत्येक वापरकर्त्यासाठी तीच अयशस्वीता ठेवतात।
दोन्ही प्रतिसाद, वापरलेले ओरिजिन आणि घेतलेला मार्ग नोंदवा। ती नोंद VPN अफवेचे सेवा बगमध्ये रूपांतर करते।