VPN CORS-ni o‘chira olmaydi, u javobni o‘zgartiradi
Yangi chiqish manzili ikki kelib chiqishni bir xil qilmaydi. Ikki yo‘ldagi javob sarlavhalarini yozib oling va CORS qo‘llanilishini ayblashdan oldin ularni solishtiring.
Bir vaqtda o‘zgargan ikki narsani ajratishdan boshlang: tarmoq yo‘li va brauzerning qo‘llanilishi. VPN chiqish manzilini o‘zgartiradi; u sahifaning kelib chiqishini o‘zgartirmaydi, u sxema, xost va portdan tuziladi. Agar so‘rov endi muvaffaqiyatli bo‘lsa, javobda nimadir o‘zgargan yoki so‘rovning o‘zi o‘zgargan. Qaysi biri ekanini aniqlash butun tekshiruvdir.
CORS — brauzer qo‘llaydigan sarlavha protokoli, shuning uchun tarmoq yo‘lidagi hech narsa uni o‘chira olmaydi.
Kelib chiqish IP manzil emas
Kelib chiqish — sxema, xost va port. Bu paketlar chiqadigan manzil emas va server ko‘radigan IP ham emas. Shuning uchun VPN har bir kuzatiladigan manzilni o‘zgartirib, kelib chiqishni o‘sha holicha qoldirishi mumkin. Brauzer javobdagi Access-Control-Allow-Origin ni sahifaning kelib chiqishi bilan solishtiradi va chiqish manzili bu solishtiruvga hech qachon kirmaydi.
Shuning uchun CORS xatosini tuzatayotgandek ko‘rinadigan kengaytma yoki proksi boshqa ish qiladi: sarlavhalarni qayta yozadi yoki so‘rovni endi boshqa kelib chiqishdan bo‘lmaydigan qilib yo‘naltiradi. Ikkalasi ham VPN xossasi emas.
Brauzer aslida nima yuboradi
Oddiy bo‘lmagan boshqa kelib chiqish so‘rovi uchun brauzer avval mo‘ljallangan metod va sarlavhalarni olib yuruvchi oldindan tekshiruv OPTIONS yuboradi. Server o‘zi ruxsat bergan huquqlar bilan javob berishi kerak va haqiqiy so‘rov faqat o‘sha javob qoidalarga mos kelsa davom etadi. VPN ikkala almashinuvni olib yuruvchi yo‘lni o‘zgartiradi va oraliq xizmatlar nima deb javob berishini o‘zgartirishi mumkin. U kelib chiqish satrini yoki oldindan tekshiruv shartini o‘zgartirmaydi.
Buyruq qatori mijozi odatda bularning hech birini ko‘rsatmaydi. U Origin sarlavhasini yubormasligi mumkin, oldindan tekshiruvni ko‘pincha o‘tkazib yuboradi va boshqa ishonchnomalarni olib yurishi mumkin. curl ga qaytarilgan tana server curl ga javob berganini isbotlaydi.
O‘zgargan javobni toping
Faqat status kodini emas, har bir yo‘ldagi haqiqiy javobni solishtiring. CORS ruxsatlarini olib yuruvchi sarlavhalarga, kontent turiga, har qanday yo‘naltirishga va WAF yoki CDN varianti boshqa sahifa yaratgan-yaratmaganiga qarang. Mintaqaviy rad etish, autentifikatsiya yo‘naltirishi yoki ruxsat sarlavhasi yo‘q xato sahifasi brauzerda muvaffaqiyatsiz bo‘ladi, ammo CORS xatosiga o‘xshaydi. Bular yetkazib berish yo‘lining farqlari va aynan ular hujjatlashtirilishi kerak.
Ikki yo‘lning javob sarlavhalarini yozib oling va satrma-satr solishtiring. Agar yagona farq bitta xato sahifasida Access-Control-Allow-Origin yo‘qligi bo‘lsa, sababni topdingiz.
Qo‘llanilishni emas, xizmatni tuzating
Xizmat sizniki bo‘lsa, ruxsat berilgan kelib chiqishlar va so‘rov xususiyatlarini aniq ayting, so‘ngra uning frontendi va vositachilari keltiradigan xatolarni o‘qing. Aks holda xizmat egasiga tozalangan solishtiruv yuboring. Bu hisobotga hech qachon cookie, avtorizatsiya sarlavhalari yoki sessiya eksportlarini qo‘shmang, chunki siyosat aynan shu ishonchnomalarni himoya qilish uchun mavjud.
CORS ni o‘chiradigan brauzer kengaytmalaridan saqlaning. Ular xavfsizlik chegarasini o‘zgartiradi va tushuntirilishi kerak bo‘lgan javob farqini yashiradi, qolgan har bir foydalanuvchi uchun o‘sha muvaffaqiyatsizlikni qoldiradi.
Ikkala javobni, ishlatilgan kelib chiqishni va bosib o‘tilgan yo‘lni yozib oling. Bu yozuv VPN haqidagi mish-mishni xizmat xatosiga aylantiradi.