မူရင်းအရင်းအမြစ်မျှဝေခြင်း (CORS) ပြဿနာများနှင့် ဖြေရှင်းချက်များ

  • အိမ်
  • အထွေထွေ
  • မူရင်းအရင်းအမြစ်မျှဝေခြင်း (CORS) ပြဿနာများနှင့် ဖြေရှင်းချက်များ
မူရင်းအရင်းအမြစ်ခွဲဝေမှု (CORS) ပြဿနာများနှင့် ဖြေရှင်းချက်များ 10615 ဤဘလော့ဂ်ပို့စ်သည် ဝဘ်ဆော့ဖ်ဝဲရေးသားသူများ မကြာခဏကြုံတွေ့ရသော အရင်းအမြစ်များခွဲဝေခြင်း (CORS) ပြဿနာများကို အဓိကထားသည်။ CORS ဆိုသည်မှာ ဘာလဲ၊ ၎င်း၏ အခြေခံမူများနှင့် အဘယ်ကြောင့် အရေးကြီးကြောင်း ရှင်းပြခြင်းဖြင့် စတင်သည်။ ထို့နောက် ၎င်းသည် CORS အမှားအယွင်းများ မည်သို့ဖြစ်ပွားကြောင်းနှင့် ၎င်းတို့ကို ဖြေရှင်းရန်ရရှိနိုင်သည့် နည်းလမ်းများကို အသေးစိတ်ကြည့်ရှုပေးသည်။ လုံခြုံပြီး ထိရောက်သော CORS အကောင်အထည်ဖော်မှုအတွက် အကောင်းဆုံးအလေ့အကျင့်များနှင့် အဓိကထည့်သွင်းစဉ်းစားချက်များကိုလည်း မီးမောင်းထိုးပြပါသည်။ ဤလမ်းညွှန်ချက်သည် သင့်ဝဘ်အပလီကေးရှင်းများတွင် CORS ဆိုင်ရာ ပြဿနာများကို နားလည်ပြီး ဖြေရှင်းရန် ကူညီပေးရန် ရည်ရွယ်ပါသည်။
ရက်စွဲစက်တင်ဘာ ၁၄၊ ၂၀၂၅

ဤဘလော့ဂ်ပို့စ်သည် ဝဘ်ဆော့ဖ်ဝဲရေးသားသူများ မကြာခဏကြုံတွေ့ရလေ့ရှိသော Cross-Origin Resource Sharing (CORS) ပြဿနာများကို အဓိကထားဖော်ပြထားပါသည်။ CORS ဆိုတာဘာလဲ၊ ၎င်း၏အခြေခံမူများနှင့် အဘယ်ကြောင့်အရေးကြီးကြောင်း ရှင်းပြခြင်းဖြင့် စတင်ပါသည်။ ထို့နောက် CORS အမှားများ မည်သို့ဖြစ်ပွားပုံနှင့် ၎င်းတို့ကို ဖြေရှင်းရန် အသုံးပြုနိုင်သည့် နည်းလမ်းများကို အသေးစိတ်စစ်ဆေးပါသည်။ ထို့အပြင်၊ လုံခြုံပြီး ထိရောက်သော CORS အကောင်အထည်ဖော်မှုအတွက် အကောင်းဆုံးလုပ်ဆောင်မှုများနှင့် အဓိကထည့်သွင်းစဉ်းစားရမည့်အချက်များကိုလည်း မီးမောင်းထိုးပြထားပါသည်။ ဤလမ်းညွှန်ချက်သည် သင်၏ဝဘ်အပလီကေးရှင်းများတွင် CORS နှင့်ဆက်စပ်သော ပြဿနာများကို နားလည်ပြီး ဖြေရှင်းရန် ကူညီပေးရန် ရည်ရွယ်ပါသည်။.

CORS ဆိုတာဘာလဲ။ အခြေခံအချက်အလက်နှင့် အရေးပါမှု

မူရင်းအရင်းအမြစ်မျှဝေခြင်း (CORS), CORS သည် ဝဘ်ဘရောက်ဆာများအား ၎င်းတို့၏ကိုယ်ပိုင်ဒိုမိန်းနှင့် မတူညီသောဒိုမိန်းမှ အရင်းအမြစ်များကို ဝင်ရောက်ကြည့်ရှုနိုင်စေသည့် လုံခြုံရေးယန္တရားတစ်ခုဖြစ်သည်။ အခြေခံအားဖြင့် ၎င်းသည် ဝဘ်အပလီကေးရှင်းတစ်ခု၏ ၎င်း၏ကိုယ်ပိုင်ဒိုမိန်းပြင်ပရှိ အရင်းအမြစ်များ (ဥပမာ- API များ၊ ဖောင့်များ၊ ရုပ်ပုံများ) ဝင်ရောက်ကြည့်ရှုမှုကို ထိန်းညှိပေးသည်။ ဘရောက်ဆာများသည် မူရင်းအားဖြင့် Same-Origin မူဝါဒကြောင့် တစ်ခုမှတစ်ခုသို့ တောင်းဆိုမှုများကို ပိတ်ဆို့ထားသည်။ CORS သည် ဤကန့်သတ်ချက်ကို လုံခြုံစွာကျော်လွှားရန် နည်းလမ်းတစ်ခုကို ပေးဆောင်သည်။.

CORS ရဲ့ အရေးပါမှုဟာ ခေတ်သစ် ဝဘ်အပလီကေးရှင်းတွေရဲ့ ရှုပ်ထွေးမှုနဲ့ မတူညီတဲ့ ရင်းမြစ်တွေကနေ ဒေတာတွေကို ဆွဲထုတ်ဖို့ လိုအပ်ချက်ကြောင့် ဖြစ်ပေါ်လာတာပါ။ ဝဘ်အပလီကေးရှင်း အများအပြားဟာ API တွေ၊ CDN တွေ ဒါမှမဟုတ် မတူညီတဲ့ ဆာဗာတွေမှာ host လုပ်ထားတဲ့ တခြားပြင်ပရင်းမြစ်တွေအပေါ် မှီခိုနေရပါတယ်။ CORS မရှိရင် ဒီအရင်းအမြစ်တွေကို ဝင်ရောက်ကြည့်ရှုဖို့ မဖြစ်နိုင်ဘဲ ဝဘ်အပလီကေးရှင်းတွေရဲ့ လုပ်ဆောင်နိုင်စွမ်းကို ပြင်းထန်စွာ ကန့်သတ်ထားပါတယ်။. သံကြိုးများ, ၎င်းက developer များအား ဝဘ်အပလီကေးရှင်းများ၏ လုံခြုံရေးကို ထိန်းသိမ်းနေစဉ်တွင် မတူညီသောရင်းမြစ်များမှ အချက်အလက်များကို ရယူရန် ပြောင်းလွယ်ပြင်လွယ်ရှိစေပါသည်။.

အောက်ပါဇယားတွင်၊ သံကြိုးများ‘[အဖွဲ့အစည်း/အဖွဲ့အစည်း] ၏ အဓိကသဘောတရားများနှင့် လုပ်ဆောင်မှုကို အောက်တွင် အကျဉ်းချုပ်ဖော်ပြထားပါသည်။

အယူအဆ ရှင်းလင်းချက် ထွေထွေထူးထူး
မူရင်းတူမူဝါဒ browser များသည် source တစ်ခုမှ load လုပ်ထားသော script များကို အခြား source တစ်ခုမှ resource များကို ဝင်ရောက်ကြည့်ရှုခြင်းမှ တားဆီးပေးသည်။. ၎င်းသည် လုံခြုံရေးကို ပေးစွမ်းပြီး အန္တရာယ်ရှိသော script များမှ အရေးကြီးသော အချက်အလက်များကို ဝင်ရောက်ကြည့်ရှုခြင်းကို ကာကွယ်ပေးသည်။.
မူရင်းဒေသများ ဖြတ်ကျော် တောင်းဆိုချက် ဝဘ်စာမျက်နှာတစ်ခု၏ domain မှ အခြားဝဘ်စာမျက်နှာတစ်ခုသို့ HTTP request တစ်ခု။. ၎င်းသည် ခေတ်မီဝဘ်အပလီကေးရှင်းများအား မတူညီသော API များနှင့် အရင်းအမြစ်များကို ဝင်ရောက်ကြည့်ရှုနိုင်စေပါသည်။.
သံကြိုးများ ခေါင်းစဉ်များ (သံကြိုးများ ခေါင်းစီးများ) cross-origin တောင်းဆိုမှုများကို ခွင့်ပြုရန်အတွက် ဆာဗာက response headers များတွင် ထည့်သွင်းသည့် စိတ်ကြိုက် headers များ။. ဘယ်ဒိုမိန်းတွေက resource တွေကို access လုပ်လို့ရလဲဆိုတာ browser ကို ပြောပြပါတယ်။.
လေယာဉ်မထွက်ခွာမီ တောင်းဆိုချက် ရှုပ်ထွေးသော cross-origin request များမပြုလုပ်မီ browser မှ OPTIONS နည်းလမ်းကို အသုံးပြု၍ server သို့ပေးပို့သော request တစ်ခု။. ၎င်းက server အား တောင်းဆိုမှုကို လက်ခံခြင်း ရှိ၊ မရှိ စစ်ဆေးနိုင်စေပါသည်။.

သံကြိုးများ‘HTTPS ရဲ့ အခြေခံလုပ်ဆောင်ချက်ဟာ ဝက်ဘ်ဆာဗာက ဘယ်အရင်းအမြစ်တွေကို HTTP response header တွေကနေတစ်ဆင့် browser ကို ဝင်ရောက်ခွင့်ပေးလဲဆိုတာ အသိပေးနေတဲ့အပေါ်မှာ မူတည်ပါတယ်။ server က Access-Control-Allow-Origin header ကို အသုံးပြုပြီး ဘယ် domain တွေက သူ့ရဲ့အရင်းအမြစ်တွေကို ဝင်ရောက်ကြည့်ရှုနိုင်တယ်ဆိုတာကို သတ်မှတ်ပေးပါတယ်။ ဒီ header မှာ တောင်းဆိုတဲ့ domain ပါဝင်နေရင် ဒါမှမဟုတ် * (လူတိုင်း) ကို သတ်မှတ်ထားရင် browser က request ကို လက်ခံပါတယ်။ မဟုတ်ရင် browser က request ကို block လုပ်ပြီး အကြောင်းကြားချက် ပို့ပေးပါတယ်။ သံကြိုးများ အမှားတစ်ခု ဖြစ်ပေါ်ပါသည်။.

    CORS ရဲ့ အဓိက အစိတ်အပိုင်းတွေ

  • Access-Control-Allow-Origin- ဘယ်ဒိုမိန်းတွေက အရင်းအမြစ်ကို ဝင်ရောက်ကြည့်ရှုနိုင်တယ်ဆိုတာကို သတ်မှတ်ပေးပါတယ်။.
  • ဝင်ရောက်-ထိန်းချုပ်-ခွင့်ပြု-နည်းလမ်းများ- မည်သည့် HTTP နည်းလမ်းများ (GET, POST, PUT, DELETE, စသည်) ကို အသုံးပြုနိုင်သည်ကို သတ်မှတ်ပေးသည်။.
  • Access-Control-Allow-Headers- ရွေးချယ်စရာအဖြစ် ထည့်သွင်းနိုင်သော စိတ်ကြိုက်ခေါင်းစဉ်များကို သတ်မှတ်ပေးသည်။.
  • Access-Control-Allow-credentials- ကိုယ်ရေးကိုယ်တာအချက်အလက်များ (ကွတ်ကီးများ၊ ခွင့်ပြုချက်ခေါင်းစဉ်များ) ကို ထည့်သွင်းနိုင်ခြင်း ရှိ၊ မရှိ သတ်မှတ်ပေးသည်။.
  • ဝင်ရောက်ခွင့်-ထိန်းချုပ်မှု-အများဆုံး-အသက်အရွယ်- ကြိုတင်ပျံသန်းမှုတောင်းဆိုမှု၏ ရလဒ်များကို မည်မျှကြာအောင် ကက်ရှ်လုပ်နိုင်သည်ကို သတ်မှတ်ပေးသည်။.

သံကြိုးများ အမှားအယွင်းများသည် မှားယွင်းသော server-side configuration မှ မကြာခဏ ပေါက်ဖွားလာလေ့ရှိသည်။ developer များအနေဖြင့် ၎င်းတို့၏ server များကို သင့်လျော်စွာ configure လုပ်ရန် အရေးကြီးပြီး ယုံကြည်ရသော domain များကိုသာ resource များသို့ ဝင်ရောက်ခွင့်ပြုရန် အရေးကြီးပါသည်။ ထို့အပြင်၊, သံကြိုးများ ဤနယ်ပယ်တွင် အကောင်းဆုံးလုပ်ဆောင်မှုများကို လိုက်နာခြင်းသည် လုံခြုံရေးအားနည်းချက်များကို လျှော့ချရန် ကူညီပေးသည်။.

သံကြိုးများ, အချက်အလက်ပြန်လည်ရယူခြင်းသည် ခေတ်မီဝဘ်အပလီကေးရှင်းများ၏ မရှိမဖြစ်အစိတ်အပိုင်းတစ်ခုဖြစ်ပြီး လုံခြုံရေးကိုထိန်းသိမ်းထားစဉ်တွင် မတူညီသောရင်းမြစ်များမှ အချက်အလက်များကို ဆွဲယူရန် ပြောင်းလွယ်ပြင်လွယ်ရှိစေပါသည်။ ကောင်းစွာ configure လုပ်သောအခါ၊ ၎င်းသည် ဝဘ်အပလီကေးရှင်းများ၏ လုပ်ဆောင်နိုင်စွမ်းကို မြှင့်တင်ပေးပြီး အသုံးပြုသူအတွေ့အကြုံကို တိုးတက်ကောင်းမွန်စေပါသည်။.

Cross-Origin Resource Sharing ဘယ်လိုအလုပ်လုပ်လဲ

မူရင်းအရင်းအမြစ် CORS (Cognitive Resource Sharing) ဆိုသည်မှာ ဝဘ်ဘရောက်ဆာများအား အရင်းအမြစ်တစ်ခု (မူရင်း) မှ ဝဘ်စာမျက်နှာများအား မတူညီသောအရင်းအမြစ်မှ အရင်းအမြစ်များကို ဝင်ရောက်ကြည့်ရှုခွင့်ပြုသည့် ယန္တရားတစ်ခုဖြစ်သည်။ ဘရောက်ဆာများသည် ပုံမှန်အားဖြင့် တူညီသောမူရင်းမူဝါဒကို ပြဋ္ဌာန်းလေ့ရှိပြီး ဆိုလိုသည်မှာ ဝဘ်စာမျက်နှာတစ်ခုသည် တူညီသော protocol၊ host နှင့် port တို့ကို မျှဝေသည့်အရင်းအမြစ်မှ အရင်းအမြစ်များကိုသာ ဝင်ရောက်ကြည့်ရှုနိုင်သည်။ CORS ကို ဤကန့်သတ်ချက်ကို ကျော်လွှားရန်နှင့် မတူညီသောအရင်းအမြစ်များအကြား လုံခြုံသောဒေတာမျှဝေခြင်းကို ဖွင့်ရန် တီထွင်ခဲ့ခြင်းဖြစ်သည်။.

CORS (Common Source Reliability) ရဲ့ အဓိကရည်ရွယ်ချက်က ဝဘ်အပလီကေးရှင်းတွေကို လုံခြုံအောင်ထားဖို့ပါ။ ရင်းမြစ်တစ်ခုတည်းရဲ့ အခြေခံမူက အန္တရာယ်ရှိတဲ့ ဝဘ်ဆိုက်တွေက အသုံးပြုသူတွေရဲ့ အရေးကြီးတဲ့ အချက်အလက်တွေကို ဝင်ရောက်ကြည့်ရှုတာကို ကာကွယ်ပေးပါတယ်။ ဒါပေမယ့် တချို့ကိစ္စတွေမှာ မတူညီတဲ့ ရင်းမြစ်တွေကြားမှာ ဒေတာမျှဝေဖို့ လိုအပ်ပါတယ်။ ဥပမာအားဖြင့် ဝဘ်အပလီကေးရှင်းတစ်ခုဟာ မတူညီတဲ့ ဆာဗာပေါ်က API တစ်ခုကို ဝင်ရောက်ကြည့်ရှုဖို့ လိုအပ်နိုင်ပါတယ်။ CORS က အဲဒီလိုအခြေအနေမျိုးတွေအတွက် လုံခြုံတဲ့ ဖြေရှင်းချက်ကို ပေးစွမ်းပါတယ်။.

ဧရိယာ ရှင်းလင်းချက် ဥပမာ
မူလအစ တောင်းဆိုချက်ကို စတင်ခဲ့သော အရင်းအမြစ်၏ လိပ်စာ။. http://example.com
Access-Control-Allow-Origin ဆာဗာက မည်သည့်အရင်းအမြစ်များကို ဝင်ရောက်ခွင့်ပြုသည်ကို သတ်မှတ်ပေးသည်။. http://example.com, *
ဝင်ရောက်ခွင့်-ထိန်းချုပ်ရေး-တောင်းဆိုမှု-နည်းလမ်း client က ဘယ် HTTP method ကိုသုံးချင်လဲဆိုတာကို သတ်မှတ်ပေးပါတယ်။. ပို့စ်တင်ပါ၊ ရယူပါ
Access-Control-Allow-Methods ဆာဗာက ခွင့်ပြုထားတဲ့ HTTP နည်းလမ်းများ ကို သတ်မှတ်ပေးပါတယ်။. ပို့စ်တင်ခြင်း၊ ရယူခြင်း၊ ရွေးချယ်မှုများ

CORS သည် client (browser) နှင့် server အကြားရှိ HTTP header များမှတစ်ဆင့် လုပ်ဆောင်သည်။ client သည် cross-resource request တစ်ခုပြုလုပ်သောအခါ၊ browser သည် Origin header ကို request တွင် အလိုအလျောက်ထည့်သွင်းသည်။ request ကိုခွင့်ပြုသင့်၊ မပြုသင့် ဆုံးဖြတ်ရန် server သည် ဤ header ကိုစစ်ဆေးသည်။ server သည် request ကိုခွင့်ပြုပါက Access-Control-Allow-Origin header ဖြင့် တုံ့ပြန်သည်။ ဤ header သည် မည်သည့် resource များက request ကိုဝင်ရောက်ကြည့်ရှုနိုင်သည်ကို သတ်မှတ်ပေးသည်။.

    CORS လုပ်ငန်းစဉ်

  1. browser က resource ကို တခြား source ကနေ request လုပ်ပါတယ်။.
  2. browser က request မှာ Origin header ကိုထည့်ပေးပါတယ်။.
  3. ဆာဗာသည် မူရင်းခေါင်းစဉ်ကို အကဲဖြတ်သည်။.
  4. server က Access-Control-Allow-Origin header နဲ့ တုံ့ပြန်ပါတယ်။.
  5. browser က response ကို စစ်ဆေးပြီး request ကို ခွင့်ပြုသည် သို့မဟုတ် block လုပ်သည်။.

CORS ဘယ်လိုအလုပ်လုပ်လဲဆိုတာကို နားလည်တာက ဝဘ်ဆော့ဖ်ဝဲရေးသားသူတွေအတွက် အရေးကြီးပါတယ်။ CORS ဆက်တင်များကို မှားယွင်းစွာ configure လုပ်ထားခြင်းက ဝဘ်အပလီကေးရှင်းများတွင် လုံခြုံရေးအားနည်းချက်များ ဖြစ်ပေါ်စေနိုင်သည်။ ထို့ကြောင့် CORS မည်သို့အလုပ်လုပ်ပုံနှင့် ၎င်းကို မည်သို့မှန်ကန်စွာ configure လုပ်ရမည်ကို သိရှိခြင်းသည် လုံခြုံပြီး ထိရောက်သော ဝဘ်အပလီကေးရှင်းများ တီထွင်ရာတွင် မရှိမဖြစ်လိုအပ်ပါသည်။.

ခွင့်ပြုချက်လုပ်ငန်းစဉ်များ

CORS မှာ permission process တွေကို server ဘယ် resource တွေကို access လုပ်ခွင့်ရှိလဲဆိုတာ ဆုံးဖြတ်ဖို့ အသုံးပြုပါတယ်။ server က, Access-Control-Allow-Origin သင်သည် သတ်မှတ်ထားသော အရင်းအမြစ်များကို ခွင့်ပြုနိုင်သည် သို့မဟုတ် ခေါင်းစဉ်မှတစ်ဆင့် အရင်းအမြစ်အားလုံးကို ခွင့်ပြုနိုင်သည်။ * သူသည် သူ၏ စရိုက်လက္ခဏာကို အသုံးပြုနိုင်သည်။ သို့သော်၊, * ဤအင်္ဂါရပ်ကို အသုံးပြုခြင်းသည် လုံခြုံရေးအန္တရာယ်များ ဖြစ်စေနိုင်သောကြောင့် သတိထားသင့်သည်။ အထူးသဖြင့် အရေးကြီးဒေတာများပါဝင်သည့်ကိစ္စများတွင် သတ်မှတ်ထားသောရင်းမြစ်များကို ဝင်ရောက်ကြည့်ရှုခွင့်ပြုခြင်းသည် ပိုမိုလုံခြုံသောချဉ်းကပ်မှုတစ်ခုဖြစ်သည်။.

အမှားများနှင့် ဖြေရှင်းချက်များ

CORS အမှားများသည် မှားယွင်းစွာ configure လုပ်ထားသော server setting များကြောင့် မကြာခဏ ဖြစ်ပွားလေ့ရှိသည်။ အဖြစ်အများဆုံး အမှားများထဲမှ တစ်ခုမှာ..., Access-Control-Allow-Origin ၎င်းမှာ header ပျောက်ဆုံးနေခြင်း သို့မဟုတ် မှားယွင်းစွာ configure လုပ်ထားခြင်းကြောင့် ဖြစ်သည်။ ဤကိစ္စတွင် browser သည် request ကို block လုပ်ပြီး CORS error ကိုပြသသည်။ ထိုကဲ့သို့သော error များကိုဖြေရှင်းရန် server setting များကိုစစ်ဆေးပြီး Access-Control-Allow-Origin header ကို မှန်ကန်စွာ configure လုပ်ထားကြောင်း သေချာစေရန် အရေးကြီးပါသည်။ preflight requests ဟုလည်း လူသိများသော OPTIONS requests များကို မှန်ကန်စွာ လုပ်ဆောင်ကြောင်းလည်း သေချာစေရန် လိုအပ်ပါသည်။.

CORS အမှားများကို နားလည်ခြင်းနှင့် ဖြေရှင်းခြင်းဆိုင်ရာ နည်းလမ်းများ

မူရင်းအရင်းအမြစ် အဖြစ်များသော Request-Related Networking (CORS) အမှားများသည် ဝဘ်ဆော့ဖ်ဝဲရေးသားသူများ ကြုံတွေ့ရလေ့ရှိပြီး အချိန်ယူဖြေရှင်းရသည့် အဖြစ်များသော ပြဿနာတစ်ခုဖြစ်သည်။ ဤအမှားများသည် ဝဘ်စာမျက်နှာတစ်ခုသည် မတူညီသောရင်းမြစ် (ဒိုမိန်း၊ ပရိုတိုကော သို့မဟုတ် ပေါ့တ်) မှ အရင်းအမြစ်များကို တောင်းဆိုရန် ကြိုးစားသောအခါတွင် ဖြစ်ပွားပြီး ဘရောက်ဆာသည် လုံခြုံရေးအကြောင်းပြချက်များကြောင့် တောင်းဆိုမှုကို ပိတ်ဆို့လိုက်သောအခါတွင် ဖြစ်ပွားလေ့ရှိသည်။ CORS အမှားများကို နားလည်ခြင်းနှင့် ဖြေရှင်းခြင်းသည် ခေတ်မီဝဘ်အပလီကေးရှင်းများ၏ ချောမွေ့စွာလည်ပတ်မှုအတွက် အလွန်အရေးကြီးပါသည်။.

CORS အမှားများကို ရောဂါရှာဖွေခြင်းသည် ပြဿနာ၏ရင်းမြစ်ကို ဖော်ထုတ်ရာတွင် ပထမခြေလှမ်းဖြစ်သည်။ browser developer tools (များသောအားဖြင့် Console tab တွင်) ရှိ အမှားမက်ဆေ့ချ်များကို စစ်ဆေးခြင်းဖြင့် မည်သည့်အရင်းအမြစ်ကို ပိတ်ဆို့ထားသည်နှင့် အဘယ်ကြောင့် ပိတ်ဆို့ထားသည်ကို နားလည်ရန် ကူညီပေးသည်။ အမှားမက်ဆေ့ချ်များတွင် ပြဿနာကို ဖြေရှင်းရန် သဲလွန်စများ ပါဝင်လေ့ရှိသည်။ ဥပမာအားဖြင့်၊ "No 'Access-Control-Allow-Origin' header is present on the resource" မက်ဆေ့ချ်သည် server ဘက်တွင် CORS header ပျောက်ဆုံးနေကြောင်း ညွှန်ပြသည်။.

ကုဒ်အမှား ရှင်းလင်းချက် ဖြစ်နိုင်သော ဖြေရှင်းနည်းများ
၄၀၃ တားမြစ်ထားသည်။ ဆာဗာသည် တောင်းဆိုချက်ကို နားလည်သော်လည်း ငြင်းဆိုခဲ့သည်။. ဆာဗာဘက်ခြမ်းရှိ CORS ပြင်ဆင်မှုကို စစ်ဆေးပါ။ ခွင့်ပြုထားသော အရင်းအမြစ်များကို မှန်ကန်စွာ ပြင်ဆင်ပါ။.
Internal Server Error 500 ဆာဗာတွင် မမျှော်လင့်ထားသော အမှားတစ်ခု ဖြစ်ပွားခဲ့သည်။ ဆာဗာမှတ်တမ်းများကို ပြန်လည်သုံးသပ်ပြီး အမှား၏ရင်းမြစ်ကို ရှာဖွေပါ။ ၎င်းသည် CORS ဖွဲ့စည်းမှုတွင် ပြဿနာရှိနိုင်သည်။.
CORS အမှား (ဘရောက်ဆာ ကွန်ဆိုးလ်) CORS မူဝါဒကို ချိုးဖောက်သောကြောင့် browser သည် request ကို ပိတ်ဆို့ခဲ့သည်။. ဆာဗာဘက်ခြမ်းတွင် 'Access-Control-Allow-Origin' header ကို မှန်ကန်စွာ configure လုပ်ပါ။.
ERR_CORS_REQUEST_NOT_HTTP CORS တောင်းဆိုမှုများကို HTTP သို့မဟုတ် HTTPS protocol မှတစ်ဆင့် မပြုလုပ်ပါ။. တောင်းဆိုချက်ကို မှန်ကန်သော protocol မှတစ်ဆင့် ပြုလုပ်ထားကြောင်း သေချာပါစေ။.

CORS အမှားများကို ဖြေရှင်းရန် နည်းလမ်းများစွာရှိပါသည်။ အသုံးအများဆုံးနည်းလမ်းမှာ server ဘက်တွင် လိုအပ်သော CORS header များထည့်ခြင်းဖြစ်သည်။. ‘'ဝင်ရောက်ခွင့်-ထိန်းချုပ်မှု-ခွင့်ပြု-မူရင်း'’ header က server ကိုဝင်ရောက်ခွင့်ပြုထားတဲ့ resource တွေကို သတ်မှတ်ပေးပါတယ်။ ဒီ header ကို '*' လို့သတ်မှတ်တာက resource အားလုံးကိုခွင့်ပြုတယ်လို့ ဆိုလိုပေမယ့် လုံခြုံရေးအကြောင်းပြချက်တွေကြောင့် ဒီနည်းလမ်းကို ယေဘုယျအားဖြင့် အကြံပြုထားတာမဟုတ်ပါဘူး။ အဲဒီအစား သတ်မှတ်ထားတဲ့ resource တွေကိုသာခွင့်ပြုတာက ပိုလုံခြုံပါတယ်။ ဥပမာ 'Access-Control-Allow-Origin: https://example.com' က 'https://example.com' ကနေ request တွေကိုပဲခွင့်ပြုပါတယ်။.

CORS အမှားများကို ကာကွယ်ရန်နှင့် ဖြေရှင်းရန် ထည့်သွင်းစဉ်းစားရမည့် အခြားအရေးကြီးသော အချက်အချို့ကို ဤနေရာတွင် ဖော်ပြထားပါသည်။

    အမှားအယွင်း အမျိုးအစားများ

  • ‘'Access-Control-Allow-Origin' header ပျောက်ဆုံးနေသည် သို့မဟုတ် မှားယွင်းစွာ configure လုပ်ထားသည်- မှန်ကန်သော header များကို server ဘက်တွင် မသတ်မှတ်ထားပါ။.
  • လေယာဉ်မထွက်ခွာမီ ပြဿနာများ- ‘ဆာဗာသည် 'OPTIONS' တောင်းဆိုချက်ကို မှန်ကန်စွာ မလုပ်ဆောင်ခဲ့ပါ။.
  • အထောက်အထား ပြဿနာများ- ကွတ်ကီးများ သို့မဟုတ် အထောက်အထားစိစစ်ခြင်းဆိုင်ရာ အချက်အလက်များကို မှန်ကန်စွာ မပေးပို့ပါ။.
  • အရင်းအမြစ်များအကြား လမ်းကြောင်းရှာဖွေခြင်းဆိုင်ရာ ပြဿနာများ- လမ်းညွှန်ချက်များသည် CORS မူဝါဒများနှင့် ကိုက်ညီမှုမရှိပါ။.
  • ပရောက်စီဆာဗာ ပြဿနာများ- proxy server များသည် CORS header များကို မှန်ကန်စွာ မပို့လွှတ်ပါ။.
  • HTTPS ပရိုတိုကော လိုအပ်ချက်- လုံခြုံမှုမရှိသော HTTP ချိတ်ဆက်မှုများမှတစ်ဆင့် ပြုလုပ်သော တောင်းဆိုမှုများကို ပိတ်ဆို့ခြင်း။.

CORS အမှားများကို ဖြေရှင်းရန် server-side ပြောင်းလဲမှုများအပြင်၊ client-side ချိန်ညှိမှုအချို့ကိုလည်း ပြုလုပ်နိုင်ပါသည်။ ဥပမာအားဖြင့်၊ proxy server ကို အသုံးပြု၍ request များကို လမ်းကြောင်းပြောင်းခြင်း သို့မဟုတ် JSONP ကဲ့သို့သော အခြားဒေတာဖလှယ်မှုနည်းလမ်းများကို အသုံးပြုနိုင်သည်။ သို့သော်၊ ဤနည်းလမ်းများသည် လုံခြုံရေးအားနည်းချက်များကို ဖန်တီးနိုင်ကြောင်း သတိပြုသင့်သည်။ ထို့ကြောင့်၊, အကောင်းဆုံးဖြေရှင်းချက် ယေဘုယျအားဖြင့် ၎င်းတွင် server ဘက်တွင် မှန်ကန်သော CORS ဖွဲ့စည်းမှု သေချာစေခြင်း ပါဝင်သည်။.

CORS နှင့် ဆက်စပ်သော အကောင်းဆုံးလုပ်ဆောင်မှုများ

မူရင်းအရင်းအမြစ် CORS (Cognitive Responsibility Reduction) ကို စနစ်တကျ configure လုပ်ခြင်းသည် သင့်ဝဘ်အပလီကေးရှင်းများ၏ လုံခြုံရေးနှင့် လုပ်ဆောင်နိုင်စွမ်းကို သေချာစေရန် အရေးကြီးပါသည်။ CORS မူဝါဒကို မှားယွင်းစွာ configure လုပ်ခြင်းသည် အားနည်းချက်များဖြစ်ပေါ်စေပြီး ခွင့်ပြုချက်မရှိဘဲ ဝင်ရောက်ခွင့်ပြုနိုင်သည်။ ထို့ကြောင့် CORS ကို အကောင်အထည်ဖော်သည့်အခါ သတိထားပြီး အကောင်းဆုံးလုပ်ဆောင်မှုများကို လိုက်နာရန် အရေးကြီးပါသည်။.

အကောင်းဆုံးအလေ့အကျင့် ရှင်းလင်းချက် ထွေထွေထူးထူး
ခွင့်ပြုထားသော မူလအစများကို ကန့်သတ်ပါ။ Access-Control-Allow-Origin ခေါင်းစဉ်တွင် ယုံကြည်ရသော ဒိုမိန်းများကိုသာ စာရင်းပြုစုပါ။. * ၎င်းကိုအသုံးပြုခြင်းကိုရှောင်ကြဉ်ပါ။. ၎င်းသည် လုံခြုံရေးကို မြှင့်တင်ပေးပြီး ခွင့်ပြုချက်မရှိဘဲ ဝင်ရောက်ခြင်းကို ကာကွယ်ပေးသည်။.
လိုအပ်သည့်အခါ သင့်အထောက်အထားများကို အသုံးပြုပါ။ ကွတ်ကီးများ သို့မဟုတ် ခွင့်ပြုချက် ခေါင်းစီးများကဲ့သို့သော အထောက်အထား အချက်အလက်များကို ပေးပို့ရန် Access-Control-Allow-Credentials- မှန်ပါသည်။ အသုံးပြု. ၎င်းသည် အထောက်အထားစိစစ်ခြင်း လိုအပ်သော အရင်းအမြစ်များကို ဝင်ရောက်ကြည့်ရှုနိုင်စေပါသည်။.
လေယာဉ်မထွက်ခွာမီ တောင်းဆိုမှုများကို မှန်ကန်စွာ စီမံခန့်ခွဲပါ ရွေးချယ်စရာများ ၎င်းတို့၏ တောင်းဆိုချက်များကို မှန်ကန်စွာ စီမံဆောင်ရွက်ပြီး လိုအပ်သော ခေါင်းစဉ်များ ထည့်သွင်းပါ။Access-Control-Allow-Methods, Access-Control-Allow-Headersပံ့ပိုးပေးပါ။. ရှုပ်ထွေးသော တောင်းဆိုမှုများ (ဥပမာ၊, အိုင်ဒေါလ်, ဖျက်ရန်) ဘေးကင်းစွာပြုလုပ်နိုင်ကြောင်း သေချာစေပါသည်။.
အမှားအယွင်း မက်ဆေ့ချ်များကို ဂရုတစိုက်ကိုင်တွယ်ပါ။ CORS အမှားများကို အသုံးပြုသူထံ အဓိပ္ပာယ်ရှိသော နည်းလမ်းဖြင့် ဆက်သွယ်ပြောဆိုပြီး အလားအလာရှိသော အားနည်းချက်များကို မဖော်ပြပါနှင့်။. ၎င်းသည် အသုံးပြုသူအတွေ့အကြုံကို တိုးတက်ကောင်းမွန်စေပြီး လုံခြုံရေးအန္တရာယ်များကို လျှော့ချပေးသည်။.

သင့်ရဲ့ လုံခြုံရေးကို တိုးမြှင့်ဖို့အတွက်၊, Access-Control-Allow-Origin ခေါင်းစဉ်တွင် wildcard စာလုံးများ (*) ကို မသုံးပါနှင့်။ ၎င်းသည် မည်သည့်ဒိုမိန်းကိုမဆို သင့်အရင်းအမြစ်များကို ဝင်ရောက်ကြည့်ရှုနိုင်စေပြီး အန္တရာယ်ရှိသောဆိုက်များသည် သင့်ဒေတာကို ခိုးယူခြင်း သို့မဟုတ် ခြယ်လှယ်ခြင်းတို့ကို ပြုလုပ်နိုင်စေပါသည်။ ယင်းအစား၊ သင်ယုံကြည်ပြီး ဝင်ရောက်ကြည့်ရှုခွင့်ပြုလိုသော သီးခြားဒိုမိန်းများကိုသာ စာရင်းပြုစုပါ။.

    လျှောက်လွှာအဆင့်ဆင့်

  1. သင့်လိုအပ်ချက်များကို သတ်မှတ်ပါ- မည်သည့်ဒိုမိန်းများသည် သင့်အရင်းအမြစ်များကို ဝင်ရောက်ကြည့်ရှုခွင့်ရှိသင့်သည်ကို ရှင်းလင်းစွာဖော်ပြပါ။.
  2. Access-Control-Allow-Origin header ကို configure လုပ်ပါ- server ဘက်တွင်၊ ခွင့်ပြုထားသော domain များကိုသာ list လုပ်ပါ။.
  3. အထောက်အထားအချက်အလက်များကို စီမံခန့်ခွဲပါ- ကွတ်ကီးများ သို့မဟုတ် ခွင့်ပြုချက်ခေါင်းစဉ်များ လိုအပ်ပါက၊, Access-Control-Allow-credentials ခေါင်းစဉ်ကို မှန်ကန်စွာ သတ်မှတ်ပါ။.
  4. ပျံသန်းမှုမတိုင်မီ တောင်းဆိုမှုများကို စီမံဆောင်ရွက်ပါ- ရွေးချယ်စရာများ သူတို့ရဲ့ တောင်းဆိုချက်တွေအတွက် သင့်တော်တဲ့ အဖြေတွေ ပေးပါ။.
  5. အမှားကိုင်တွယ်ဖြေရှင်းသည့် ယန္တရားတစ်ခု တည်ဆောက်ပါ- CORS အမှားများကို အသုံးပြုသူထံ ရှင်းလင်းပြတ်သားစွာနှင့် ဖော်ပြချက်ဖြင့် ဆက်သွယ်ပါ။.
  6. စမ်းသပ်ပြီး စောင့်ကြည့်ခြင်း- သင်၏ CORS ပြင်ဆင်မှုကို မှန်မှန်စမ်းသပ်ပြီး အလားအလာရှိသော အားနည်းချက်များကို စောင့်ကြည့်ပါ။.

ဖြည့်စွက်ကာ, လေယာဉ်မထွက်ခွာမီ တောင်းဆိုမှုများ ၎င်းတို့ကို မှန်ကန်စွာ စီမံခန့်ခွဲခြင်းသည်လည်း အရေးကြီးပါသည်။ ဘရောက်ဆာများသည် ရှုပ်ထွေးသော တောင်းဆိုမှုအချို့ကို ကိုင်တွယ်ကြသည် (ဥပမာ-, အိုင်ဒေါလ် သို့မဟုတ် ဖျက်ရန် ဆာဗာသို့ မက်ဆေ့ချ်တစ်ခု မပို့မီ (ဤကဲ့သို့) ရွေးချယ်စရာများ ၎င်းက တောင်းဆိုချက်ကို ပေးပို့ပါသည်။ သင့်ဆာဗာသည် ဤတောင်းဆိုချက်ကို မှန်ကန်စွာ တုံ့ပြန်ပြီး လိုအပ်သော အချက်အလက်များကို ပေးရန် လိုအပ်သည်။ Access-Control-Allow-Methods နှင့် Access-Control-Allow-Headers ၎င်းတွင် header များ ပါဝင်ရမည်။ ၎င်းသည် browser ကို တကယ့် request ပေးပို့နိုင်စေပါသည်။.

သင့်ရဲ့ CORS configuration ကို မှန်မှန်စမ်းသပ်ပြီး စောင့်ကြည့်ဖို့ အရေးကြီးပါတယ်။ မမျှော်လင့်ထားတဲ့ အပြုအမူ ဒါမှမဟုတ် အလားအလာရှိတဲ့ အားနည်းချက်တွေကို ဖော်ထုတ်ဖို့ မတူညီတဲ့ အခြေအနေတွေကို စမ်းကြည့်ပါ။ သင့်ရဲ့ server logs တွေကို စောင့်ကြည့်ခြင်းအားဖြင့် ခွင့်ပြုချက်မရှိဘဲ ဝင်ရောက်ရန် ကြိုးပမ်းမှုတွေကိုပါ ရှာဖွေတွေ့ရှိနိုင်ပါတယ်။ လုံခြုံတဲ့ web application တစ်ခု တည်ဆောက်ခြင်းဟာ ဆက်လက်လုပ်ဆောင်နေတဲ့ လုပ်ငန်းစဉ်တစ်ခုဖြစ်ပြီး ပုံမှန် update တွေနဲ့ တိုးတက်မှုတွေ လိုအပ်တယ်ဆိုတာ သတိရပါ။. မူရင်းအရင်းအမြစ် ဤအကောင်းဆုံးလုပ်ဆောင်မှုများဖြင့် သင်မျှဝေထားသော အကြောင်းအရာကို ဖွဲ့စည်းခြင်းဖြင့် သင်၏ဝဘ်အပလီကေးရှင်းများ၏ လုံခြုံရေးကို သိသိသာသာ မြှင့်တင်နိုင်ပါသည်။.

CORS ကိုအသုံးပြုသည့်အခါ ထည့်သွင်းစဉ်းစားရမည့်အချက်များ

မူရင်းအရင်းအမြစ် CORS (Cooperation Relief System) ကိုအသုံးပြုသည့်အခါ သင့်အပလီကေးရှင်း၏ လုံခြုံရေးနှင့် ကောင်းမွန်စွာလည်ပတ်မှုကို သေချာစေရန် ထည့်သွင်းစဉ်းစားရမည့် အရေးကြီးသောအချက်များစွာရှိပါသည်။ CORS သည် ဝဘ်အပလီကေးရှင်းများအား မတူညီသောရင်းမြစ်များမှ ဒေတာများကို ဖလှယ်ခွင့်ပြုသည့် ယန္တရားတစ်ခုဖြစ်သော်လည်း မှားယွင်းစွာ configure လုပ်ပါက ပြင်းထန်သော လုံခြုံရေးအားနည်းချက်များ ဖြစ်ပေါ်စေနိုင်သည်။ ထို့ကြောင့် CORS မူဝါဒများကို ဂရုတစိုက် configure လုပ်ပြီး အလားအလာရှိသော ပြဿနာများကို ကာကွယ်ရန် သီးခြားအဆင့်များကို လိုက်နာရန် အရေးကြီးပါသည်။.

CORS ဖွဲ့စည်းမှုတွင် အမှားအယွင်းများသည် အရေးကြီးသောဒေတာများကို ခွင့်ပြုချက်မရှိဘဲ ဝင်ရောက်ကြည့်ရှုခွင့်ပြုခြင်း သို့မဟုတ် အန္တရာယ်ရှိသောတိုက်ခိုက်မှုများကို ဖြစ်စေနိုင်သည်။ ဥပမာအားဖြင့်၊, Access-Control-Allow-Origin header ကို မှားယွင်းစွာ configure လုပ်ခြင်းသည် အရင်းအမြစ်အားလုံးမှ request များကို ခွင့်ပြုရန် ဦးတည်စေနိုင်သည်။ ၎င်းသည် သတ်မှတ်ထားသော အရင်းအမြစ်များမှ request များကိုသာ ခွင့်ပြုသင့်သည့် အခြေအနေများတွင် ပြင်းထန်သော လုံခြုံရေးအန္တရာယ်ကို ဖြစ်စေသည်။ အောက်ပါဇယားတွင် အဖြစ်များသော CORS configuration အမှားများနှင့် ၎င်းတို့၏ ဖြစ်နိုင်ချေရှိသော အကျိုးဆက်များကို အကျဉ်းချုပ်ဖော်ပြထားသည်။.

အမှား ရှင်းလင်းချက် နိဂုံး
Access-Control-Allow-Original-* အသုံးပြုမှု အရင်းအမြစ်အားလုံးမှ တောင်းဆိုမှုများကို ခွင့်ပြုသည်။. လုံခြုံရေးအားနည်းချက်ကြောင့် အန္တရာယ်ရှိသော ဝဘ်ဆိုက်များသည် အချက်အလက်များကို ဝင်ရောက်ကြည့်ရှုနိုင်စေပါသည်။.
Access-Control-Allow-Credentials- မှန်ပါသည်။ အတူ Access-Control-Allow-Original-* အသုံးပြုမှု အထောက်အထား အချက်အလက်များကို အရင်းအမြစ်အားလုံးသို့ ပေးပို့ခွင့်ပြုသည် (သို့သော် browser များမှ ပိတ်ဆို့ထားသည်)။. မမျှော်လင့်ထားသော အပြုအမူ၊ မှားယွင်းသော အထောက်အထားစိစစ်ခြင်း။.
မမှန်ကန်သော HTTP နည်းလမ်းများကို ခွင့်ပြုခြင်း GET သို့မဟုတ် POST ကဲ့သို့သော method အချို့ကိုသာ ခွင့်ပြုသင့်သော်လည်း method အားလုံးကို ခွင့်ပြုသင့်သည်။. လုံခြုံရေးအားနည်းချက်များ၊ ဒေတာခြယ်လှယ်မှုဖြစ်နိုင်ခြေ။.
မလိုအပ်သော ခေါင်းစဉ်များကို လက်ခံခြင်း လိုအပ်သော ခေါင်းစဉ်များကိုသာ လက်ခံရန် လိုအပ်သော်လည်း ခေါင်းစဉ်အားလုံးကို လက်ခံပါသည်။. လုံခြုံရေးအားနည်းချက်များ၊ မလိုအပ်သောဒေတာလွှဲပြောင်းခြင်း။.

CORS ကိုအသုံးပြုသည့်အခါ ထည့်သွင်းစဉ်းစားရမည့် နောက်ထပ်အရေးကြီးသောအချက်တစ်ခုမှာ preflight request mechanism ၏ မှန်ကန်သော configuration ဖြစ်သည်။ Preflight request များသည် OPTIONS request များဖြစ်ပြီး အမှန်တကယ် request မပို့မီ server ၏ CORS မူဝါဒများကို စစ်ဆေးရန် browser များက server သို့ပေးပို့သော request များဖြစ်သည်။ server သည် ဤ request များကို မှန်ကန်စွာမတုံ့ပြန်ပါက၊ အမှန်တကယ် request ကို ပိတ်ဆို့ထားသည်။ ထို့ကြောင့်၊ သင့် server သည် OPTIONS request များကို မှန်ကန်စွာတုံ့ပြန်ကြောင်း သေချာစေရမည်။.

ထည့်သွင်းစဉ်းစားရန်အချက်များ

  • Access-Control-Allow-Origin ခေါင်းစဉ်ကို မှန်ကန်စွာ တည်ဆောက်ပါ။ ယုံကြည်ရသော အရင်းအမြစ်များမှသာ ဝင်ရောက်ကြည့်ရှုခွင့်ပြုပါ။.
  • Access-Control-Allow-credentials ခေါင်းစဉ်ကိုသုံးတဲ့အခါ သတိထားပါ။ မလိုအပ်ရင် မသုံးပါနဲ့။.
  • ပျံသန်းမှုမတိုင်မီ တောင်းဆိုမှုယန္တရားကို မှန်ကန်စွာ ပြင်ဆင်ပါ။ OPTIONS တောင်းဆိုမှုများအတွက် တိကျသော တုံ့ပြန်မှုများ ပေးပါ။.
  • လိုအပ်သော HTTP နည်းလမ်းများနှင့် header များကိုသာ ခွင့်ပြုပါ။ မလိုအပ်သော နည်းလမ်းများနှင့် header များကို ပိတ်ဆို့ပါ။.
  • သင့်ရဲ့ CORS configuration ကို မှန်မှန် update လုပ်ပြီး အားနည်းချက်တွေ ရှိမရှိ စမ်းသပ်ပါ။.
  • CORS အမှားများကို ဖော်ထုတ်ဖြေရှင်းရန် debugging tools များကို အသုံးပြုပါ။.

CORS အမှားများကို ဖြေရှင်းရန် browser developer tools များကို အသုံးပြုခြင်းသည် အတော်လေး အထောက်အကူဖြစ်စေပါသည်။ ဤ tools များသည် CORS နှင့် ဆက်စပ်သော အမှားများနှင့် သတိပေးချက်များကို ပြသခြင်းဖြင့် ပြဿနာ၏ အရင်းအမြစ်ကို ဖော်ထုတ်ရန် ကူညီပေးနိုင်ပါသည်။ သင်၏ CORS မူဝါဒများကို မှန်ကန်စွာ အကောင်အထည်ဖော်နေခြင်း ရှိမရှိ စစ်ဆေးရန် server-side log မှတ်တမ်းများကိုလည်း စစ်ဆေးနိုင်ပါသည်။ CORS မူဝါဒကို ကောင်းမွန်စွာ configure လုပ်ခြင်းသည် သင်၏ web application ၏ လုံခြုံရေးကို မြှင့်တင်ရန်နှင့် user experience ကို မြှင့်တင်ရန် အရေးကြီးသော အစိတ်အပိုင်းတစ်ခုဖြစ်ကြောင်း သတိရပါ။.

အမေးများသောမေးခွန်းများ

CORS က ဘာကြောင့်အရေးကြီးတာလဲ၊ ဝဘ်ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းစဉ်ကို ဘယ်လိုအကျိုးသက်ရောက်စေလဲ။

CORS သည် အန္တရာယ်ရှိသောရင်းမြစ်များမှ အရေးကြီးဒေတာများကို ဝင်ရောက်ကြည့်ရှုခြင်းကို ကာကွယ်ပေးခြင်းဖြင့် ဝဘ်ဆိုက်လုံခြုံရေးကို မြှင့်တင်ပေးသည်။ ၎င်းသည် အသုံးပြုသူအချက်အလက်များနှင့် အပလီကေးရှင်း၏ တည်တံ့ခိုင်မြဲမှုကို ကာကွယ်ပေးရန် ကူညီပေးသည်။ ဝဘ်ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းစဉ်တွင်၊ မတူညီသောဒိုမိန်းများအကြား ထိန်းချုပ်ထားသော အရင်းအမြစ်မျှဝေခြင်းကို ခွင့်ပြုခြင်းဖြင့် လုံခြုံပြီး တည်ငြိမ်သောအတွေ့အကြုံကို ပေးစွမ်းသည်။ ဤယန္တရားကို နားလည်ခြင်းသည် ဆော့ဖ်ဝဲရေးသားသူများအတွက် အလားအလာရှိသော အားနည်းချက်များကို ပိတ်ရန်နှင့် ချောမွေ့သောအပလီကေးရှင်းများကို တီထွင်ရန် အရေးကြီးပါသည်။.

ဘရောက်ဆာများသည် CORS မူဝါဒများကို မည်သို့အကောင်အထည်ဖော်ကြပြီး ဤလုပ်ငန်းစဉ်တွင် မည်သည့် HTTP header များကို အသုံးပြုကြသနည်း။

ဝဘ်စာမျက်နှာတစ်ခုက အခြားဒိုမိန်းမှ အရင်းအမြစ်များကို တောင်းဆိုသည့်အခါ ဘရောက်ဆာများသည် CORS စစ်ဆေးမှုများကို အလိုအလျောက် လုပ်ဆောင်ပါသည်။ ဤလုပ်ငန်းစဉ်အတွင်း ဘရောက်ဆာသည် 'Origin' header ကို ဆာဗာသို့ ပေးပို့သည်။ ဆာဗာသည် 'Access-Control-Allow-Origin' header ဖြင့် တုံ့ပြန်သည်။ ဘရောက်ဆာသည် ဤ header များ၏ တန်ဖိုးများကို နှိုင်းယှဉ်ပြီး တောင်းဆိုမှုသည် ဘေးကင်းမှုရှိမရှိ ဆုံးဖြတ်သည်။ ထို့အပြင်၊ 'Access-Control-Allow-Methods'၊ 'Access-Control-Allow-Headers' နှင့် 'Access-Control-Allow-Credentials' ကဲ့သို့သော header များကို တောင်းဆိုမှု၏ ခွင့်ပြုထားသော method များ၊ header များနှင့် အထောက်အထားများကို သတ်မှတ်ရန် အသုံးပြုသည်။ CORS ပြဿနာများကို ကာကွယ်ရန်အတွက် ဤ header များကို မှန်ကန်စွာ configure လုပ်ခြင်းသည် အရေးကြီးပါသည်။.

CORS အမှားတွေရဲ့ အဖြစ်အများဆုံး အကြောင်းရင်းတွေက ဘာတွေလဲ၊ ဘယ်လို ခွဲခြားသိရှိနိုင်မလဲ။

CORS အမှားအယွင်းများ၏ အဖြစ်အများဆုံးအကြောင်းရင်းများတွင် 'Access-Control-Allow-Origin' header ၏ server configuration မှားယွင်းခြင်း၊ မတူညီသော port များ သို့မဟုတ် protocol များမှ request များ၊ preflight request အမှားများနှင့် credential processing မှားယွင်းခြင်းတို့ ပါဝင်သည်။ ဤအမှားအယွင်းများကို ဖော်ထုတ်ရန် browser developer tools များကို သင်အသုံးပြုနိုင်ပါသည်။ Console tab တွင်ပြသထားသော အမှားအယွင်း မက်ဆေ့ချ်များသည် CORS ပြဿနာ၏ရင်းမြစ်ကို ညွှန်ပြလေ့ရှိသည်။ Network tab ရှိ HTTP header များကို စစ်ဆေးခြင်းဖြင့် server ၏ CORS responses များကိုလည်း သင်စစ်ဆေးနိုင်သည်။.

''လေယာဉ်မပျံသန်းမီ တောင်းဆိုချက်' ဆိုတာဘာလဲ၊ ဘယ်အချိန်မှာ စတင်လုပ်ဆောင်သလဲ။

''preflight request' ဆိုသည်မှာ browser မှ server သို့ ပေးပို့သော OPTIONS request တစ်ခုဖြစ်သည်။ အထူးသဖြင့် GET နှင့် POST (PUT၊ DELETE စသည်) မှလွဲ၍ အခြား HTTP method များကို အသုံးပြုသည့်အခါ သို့မဟုတ် custom header များထည့်သွင်းသည့်အခါတွင် ဤ request ကို trigger လုပ်လေ့ရှိသည်။ server သည် ဤ 'preflight request' အတွက် မှန်ကန်သော CORS response ကို ပေးရန် လိုအပ်ပါသည်။ မဟုတ်ပါက၊ အမှန်တကယ် request ကို ပိတ်ဆို့ထားမည်ဖြစ်သည်။.

CORS ကို disable လုပ်လို့ရလား၊ bypass လုပ်လို့ရလား၊ ဒီလိုလုပ်ရင် ဘယ်လိုအန္တရာယ်တွေ ရှိနိုင်လဲ။

CORS သည် browser ဘက်ခြမ်းတွင် အကောင်အထည်ဖော်ထားသော လုံခြုံရေးယန္တရားတစ်ခုဖြစ်သည်။ server ဘက်ခြမ်းတွင် CORS header များကို configure လုပ်ခြင်းဖြင့် မည်သည့် resource များကို ဝင်ရောက်ခွင့်ပြုထားသည်ကို သင်ထိန်းချုပ်နိုင်သည်။ CORS ကို လုံးဝပိတ်ခြင်းသည် ယေဘုယျအားဖြင့် အကြံပြုထားခြင်းမဟုတ်ပါ၊ အဘယ်ကြောင့်ဆိုသော် ၎င်းသည် သင့်ဝဘ်ဆိုက်ကို လုံခြုံရေးချို့ယွင်းချက်အမျိုးမျိုးကြောင့် အားနည်းချက်ဖြစ်စေနိုင်သောကြောင့်ဖြစ်သည်။ သို့သော်၊ ဖွံ့ဖြိုးတိုးတက်မှုကာလအတွင်း သို့မဟုတ် သတ်မှတ်ထားသော စမ်းသပ်မှုအခြေအနေများတွင်၊ browser plugin များ သို့မဟုတ် proxy server များမှတစ်ဆင့် CORS ကို ယာယီကျော်ဖြတ်နိုင်သည်။ ဤ workarounds များကို production environment တွင် အသုံးမပြုရန် အရေးကြီးပါသည်။.

CORS နဲ့ ဆက်စပ်နေတဲ့ လုံခြုံရေး အားနည်းချက်တွေက ဘာတွေလဲ၊ ဒါတွေကို ကာကွယ်ဖို့ ဘယ်လို အစီအမံတွေ ချမှတ်သင့်လဲ။

အဖြစ်အများဆုံး CORS အားနည်းချက်များတွင် 'Access-Control-Allow-Origin' header ကို '*' (မည်သူမဆို ဝင်ရောက်ကြည့်ရှုခွင့်ပြုခြင်း) နှင့် malicious site များအား credentials များကို ဝင်ရောက်ကြည့်ရှုခွင့်ပြုခြင်းတို့ ပါဝင်သည်။ ဤအားနည်းချက်များကို ကာကွယ်ရန်အတွက် 'Access-Control-Allow-Origin' header ကို ခွင့်ပြုထားသော domain များအတွက်သာ ကန့်သတ်ထားသင့်ပြီး 'Access-Control-Allow-Credentials' header ကို ဂရုတစိုက်အသုံးပြုသင့်ပြီး server-side လုံခြုံရေးအစီအမံများ (ဥပမာ CSRF ကာကွယ်မှု) ကို အကောင်အထည်ဖော်သင့်သည်။.

CORS ပြင်ဆင်မှုအတွက် server-side ချဉ်းကပ်နည်းတွေ ရှိပြီး အသင့်တော်ဆုံးတစ်ခုကို ဘယ်လိုရွေးချယ်နိုင်မလဲ။

CORS ပြင်ဆင်မှုအတွက် server-side ချဉ်းကပ်မှုအမျိုးမျိုးရှိပါသည်။ ၎င်းတို့တွင် HTTP headers များကို ကိုယ်တိုင်သတ်မှတ်ခြင်း၊ CORS middleware ကို အသုံးပြုခြင်း သို့မဟုတ် ဝဘ်ဆာဗာ (ဥပမာ Nginx သို့မဟုတ် Apache) ကို ပြင်ဆင်ခြင်း ပါဝင်သည်။ အသင့်တော်ဆုံးချဉ်းကပ်မှုသည် သင့်အပလီကေးရှင်း၏ လိုအပ်ချက်များ၊ သင်အသုံးပြုနေသော နည်းပညာနှင့် သင့်ဆာဗာအခြေခံအဆောက်အအုံပေါ်တွင် မူတည်ပါသည်။ middleware ကိုအသုံးပြုခြင်းသည် ပိုမိုပြောင်းလွယ်ပြင်လွယ်ရှိပြီး စီမံခန့်ခွဲနိုင်သော ဖြေရှင်းချက်ကို ပေးဆောင်သော်လည်း၊ manual header settings များသည် ရိုးရှင်းသောအပလီကေးရှင်းများအတွက် လုံလောက်နိုင်ပါသည်။.

မတူညီသောပတ်ဝန်းကျင်များ (ဖွံ့ဖြိုးတိုးတက်မှု၊ စမ်းသပ်ခြင်း၊ ထုတ်လုပ်မှု) တွင် CORS ဆက်တင်များကို မည်သို့စီမံခန့်ခွဲသင့်သနည်း။

မတူညီသောပတ်ဝန်းကျင်များတွင် CORS setting များကို စီမံခန့်ခွဲရန် environment variable များ သို့မဟုတ် configuration file များကို အသုံးပြုနိုင်ပါသည်။ development environment တွင် CORS error များကို လျှော့ချရန် looser setting များ (ဥပမာ 'Access-Control-Allow-Origin: *') ကို အသုံးပြုနိုင်သော်လည်း production environment တွင် ဤ setting များကို လုံးဝအသုံးမပြုသင့်ပါ။ test environment တွင် production environment ကိုတုပသည့် ပိုမိုတင်းကျပ်သော CORS setting များကို အသုံးပြုသင့်သည်။ production environment တွင် 'Access-Control-Allow-Origin' header ကို ခွင့်ပြုထားသော domain များအတွက်သာ ကန့်သတ်ခြင်းဖြင့် အလုံခြုံဆုံး configuration ကို အသုံးပြုသင့်သည်။ ၎င်းကို environment တစ်ခုချင်းစီအတွက် သီးခြား configuration file များ ဖန်တီးခြင်း သို့မဟုတ် environment variable များကို အသုံးပြုခြင်းဖြင့် ပြုလုပ်နိုင်သည်။.

နောက်ထပ် အချက်အလက်- CORS အကြောင်း ပိုမိုလေ့လာပါ။

ပြန်စာထားခဲ့ပါ။

အဖွဲ့ဝင်မှုမရှိပါက ဖောက်သည်အကန့်သို့ ဝင်ရောက်ပါ။

© 2020 Hostragons® သည် နံပါတ် 14320956 ပါရှိသော UK အခြေစိုက် Hosting ဝန်ဆောင်မှုပေးသူဖြစ်သည်။