CORS Haqida

Men ilgari CORS (Cross-Origin Resource Sharing) bizning backendni himoya qiladi deb o‘ylardim. Lekin bir kuni texnikasi kuchli dasturchi mendan shunday deb so‘radi:

“Agar CORS backend’ni himoya qilsa, nega Postman bilan API’ga hech qanday CORS sozlamasisiz bemalol murojaat qilish mumkin?”

Bu savol meni hushyor torttirdi. Biz hech qachon Postman’ni CORS ro‘yxatiga qo‘shmaymiz. Ammo u baribir ishlayveradi. Nega?

Ko‘pchilik dasturchilar kabi, men ham CORS nima qilishini noto‘g‘ri tushungan ekanman. Brauzerda chiqqan CORS xatolarini ko‘rib, ko‘pincha Google’dan “fix” izlab qo‘yamiz — asl sababini tushunmasdan.

Bir necha oy oldin, bu masalani chuqurroq o‘rganishga qaror qildim. Mana bir oddiy, ammo tushunarli misol:

Tasavvur qiling:

Siz brauzeringizni ochasiz va bank[nuqta]com saytiga kirib, akkauntingizga login qilasiz. Frontend esa bank-api[nuqta]com orqali API so‘rovlar yuboradi. Cookie’lar brauzerda saqlanadi.

  • Keyin yangi tab ochib, notanish saytga kirasiz: unknown-site[nuqta]com.

  • U saytda quyidagi JavaScript kodi ishlaydi:

fetch("https://bank-api.com/transfer?to=123&amount=3000", { credentials: "include" });

Siz allaqachon login bo‘lganingiz uchun cookie’lar bor.

credentials: "include" ishlatilgani sababli, brauzer cookie’larni so‘rovga qo‘shadi. Backend esa shunday deb o‘ylaydi:

“Bu foydalanuvchi login bo‘lgan, pulni ko‘chirishga ruxsat.”

💸 Natija: pul yo‘q.

Endi CORS nima qiladi?

Brauzer bu so‘rov boshqa manbadan (unknown-site.com) kelganini ko‘radi va backend’dan so‘raydi:

“Bu so‘rovni ruxsat beraymi?”

Backend quyidagicha javob beradi:

Access-Control-Allow-Origin: bank.com

Brauzer esa tekshiradi va:

• Agar so‘rov bank.com dan bo‘lsa — ruxsat beradi.

• Agar unknown-site.com dan bo‘lsa — bloklaydi.

✅ CORS — bu brauzer darajasidagi xavfsizlik.

❌ Backend’ning o‘zini himoya qilmaydi.

Postman esa brauzer emas — CORS bu yerda ishlamaydi.

Hatto foydalanuvchi brauzerga CORS’ni o‘chiradigan extension o‘rnatsa, zararli sayt bu himoyani chetlab o‘tishi mumkin.

Bu hammasi birgina savoldan boshlandi.

Va menga bir muhim narsani eslatdi:

- 🧠 Qiziquvchanlik — bizning superqudratimiz.

- “Qanday?” emas, “Nega?” degan savolni berishga o‘rgatadi.

Haqiqiy o‘rganish shu yerdan boshlanadi.

Source: linkedIn

0
Subscribe to my newsletter

Read articles from Ziyodbek Ahmadjonov directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Ziyodbek Ahmadjonov
Ziyodbek Ahmadjonov