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 અફવાને સેવાના બગમાં ફેરવે છે.