လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP သည် subddomain ပြ problem နာကိုဖြေရှင်းနိုင်သည်

PHP သည် subddomain ပြ problem နာကိုဖြေရှင်းနိုင်သည်

gitbox 2025-06-30

မိတ်ဆက်ပေး

Cross-Domain သည်ရှေ့တန်းဖွံ့ဖြိုးမှုတွင်ဘုံပြ problem နာဖြစ်သည်။ Browser ၏ homologous ပေါ်လစီဆိုင်ရာမူဝါဒန့်လ်ကန့်သတ်ချက်များကြောင့် Cross-domain တောင်းဆိုမှုများကိုများသောအားဖြင့်ပိတ်ဆို့ခြင်းခံရသည်။ သို့သော်အချို့သောသီးခြားဖြစ်ရပ်များတွင်ကျွန်ုပ်တို့သည်ကွဲပြားခြားနားသောဒိုမိန်းများအကြားဒေတာဆက်သွယ်မှုကိုအကောင်အထည်ဖော်ရန်လိုအပ်သည်။ ဒီဆောင်းပါးမှာ Cross-Subdomain ဆက်သွယ်ရေးပြ problem နာကိုဖြေရှင်းရန်စာရွက်စာတမ်းများကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။

document.domain ၏အခန်းကဏ်။

တိကျသောဖြေရှင်းချက်သို့မစားမီ decord.domain ၏အခန်းကဏ် first ကိုအရင်နားလည်ကြစို့။ document.domain သည်လက်ရှိစာရွက်စာတမ်း၏ဒိုမိန်းအမည်ကိုသတ်မှတ်သည့် string property တစ်ခုဖြစ်သည်။ စာမျက်နှာ၏ URL သည် http://www.examp3.xample.com "ဆိုပါကစာမျက်နှာ၏အမည်ကို" Pegement.com "သို့ပြောင်းရန် Domain.com" setting.com "setting.com" သို့ပြောင်းခြင်းကိုပြောင်းလဲနိုင်သည်။

အဖေြ

document.domain set

ပထမ ဦး စွာကျွန်ုပ်တို့သည်ဒေတာဆက်သွယ်ရေးအတွက်အကူးအပြောင်းဘူတာတစ်ခုအဖြစ်ဆောင်ရွက်သည့်အဓိကဒိုမိန်းအမည်အောက်တွင်မိဘစာမျက်နှာတစ်ခုဖန်တီးသည်။ SHEDDONS ၏ရှေ့နောက်ညီညွတ်မှုကိုထိန်းသိမ်းရန်ကျွန်ုပ်တို့သည်စာရွက်စာတမ်းများကိုသတ်မှတ်ရန်လိုအပ်သည်။ တိကျသောအဆင့်များမှာအောက်ပါအတိုင်းဖြစ်သည် -

 // မိဘစာမျက်နှာ (http://www.example.com)
document.domain = "ဥပမာတစ်ခု";

ထို့နောက်ကျွန်ုပ်တို့သည် IFRAME ကိုအဓိကဒိုမိန်းအမည်အောက်တွင်ရှိပြီး subdomain name အောက်ရှိစာမျက်နှာကိုတင်ပါ။

 // မိဘစာမျက်နှာ (http://www.example.com)
<iframe src="http://sub.example.com/child.html"></iframe>

DEMBONDAN စာမျက်နှာ setting ကို setting.domain

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

 // subdomain အမည်စာမျက်နှာ (http://sub.example.com/chd.html)
document.domain = "ဥပမာတစ်ခု";

Cross-Domain ဆက်သွယ်ရေးကိုအကောင်အထည်ဖော်ပါ

Subdomain စာမျက်နှာတွင် Window.parent အရာဝတ်ထုကိုကြည့်ခြင်းအားဖြင့်, သင်သည်မိဘစာမျက်နှာ၏ကမ္ဘာလုံးဆိုင်ရာ variable တွေကိုနှင့်နည်းလမ်းများကိုသင်ရနိုင်သည်။ SHEDDONDANE တွင်ဆက်သွယ်ပြောဆိုရန် Subddain စာမျက်နှာရှိမိဘစာမျက်နှာသို့တောင်းဆိုမှုများကိုတက်ကြွစွာပေးပို့ရန်ဤအရာကိုကျွန်ုပ်တို့ရယူနိုင်သည်။ ကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -

 // subdomain အမည်စာမျက်နှာ (http://sub.example.com/chd.html)
var parentwindow = window.parent;
parentwindow.postmessage ("hello, မိဘစာမျက်နှာ!", http://www.example.com ");

မိဘစာမျက်နှာတွင်သတင်းစကားဖြစ်ရပ်ကိုနားထောင်ခြင်းဖြင့်ကလေးစာမျက်နှာမှပေးပို့သောစာများကိုကျွန်ုပ်တို့ရရှိနိုင်ပါသည်။ Code pegager ်ဌာန်းချက်မှာအောက်ပါအတိုင်းဖြစ်သည် -

 // မိဘစာမျက်နှာ (http://www.example.com)
Window.addeventlistener ("Message", function ကို (ဖြစ်ရပ်) {
    console.log ("sub sexp) မှရရှိသောမက်ဆေ့ခ်ျ -" + Event.Data);
} မှားသော);

မှတ်သားရန်အရာ

  • ဤဖြေရှင်းချက်သည်မိဘနှင့်ကလေးဒိုမိန်းများသည်အတူတူပင်ဖြစ်သည့်အမှုပေါင်းများအတွက်သာသင့်လျော်သည်။ မိဘနှင့်ကလေးဒိုမိန်းများသည်အတူတူပင်မဟုတ်ပါကလက်ဝါးကပ်တိုင်ခေါင်းကြီးဆက်သွယ်မှုကိုအကောင်အထည်ဖော်လိမ့်မည်မဟုတ်ပါ။
  • ဤဖြေရှင်းချက်ကိုအသုံးပြုသောအခါ Cross-site scripting attack (XSS) ကဲ့သို့သောလုံခြုံရေးဆိုင်ရာကိစ္စရပ်များမှရှောင်ရှားရန်ဒေတာလုံခြုံရေးကိုအထူးဂရုပြုရန်လိုအပ်သည်။

အကျဉ်းချုပ်

Document.domain နှင့် iframe ကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ကွန်ဒိုများတစ်လျှောက်တွင်ဒေတာဆက်သွယ်မှုကိုအကောင်အထည်ဖော်နိုင်သည်။ ဤနည်းလမ်းသည်မိဘဒိုမိန်းနှင့်ကလေး၏ဒိုမိန်းအနေဖြင့်တူညီသောအခြေအနေများအတွက်သင့်တော်ပြီး developer များအနေဖြင့်ခရိုမင်များကြောင့်ဖြစ်ပေါ်လာသောပြ problems နာများကိုဖြေရှင်းနိုင်ရန်ကူညီနိုင်သည်။ အကောင်အထည်ဖော်မှုလုပ်ငန်းစဉ်အတွင်း developer များလုံခြုံရေးအတွက်အထူးဂရုပြုရန်နှင့်အလားအလာရှိသောလုံခြုံရေးအားနည်းချက်များကိုရှောင်ရှားရန်လိုအပ်သည်။ ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည်ဒိုမိန်းပြ problems နာများကိုပိုမိုထိရောက်စွာကိုင်တွယ်နိုင်သည်။

ဆက်စပ်အကြောင်းအရာ