လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Cross- ဒိုမိန်းတောင်းဆိုမှုများကိုအကောင်အထည်ဖော်ရန်နည်းလမ်းနှစ်နည်း - JSONSP နှင့် CORS အသေးစိတ်ရှင်းပြချက်

Cross- ဒိုမိန်းတောင်းဆိုမှုများကိုအကောင်အထည်ဖော်ရန်နည်းလမ်းနှစ်နည်း - JSONSP နှင့် CORS အသေးစိတ်ရှင်းပြချက်

gitbox 2025-06-15

1 ။ Cross-Domain Data Transmission ၏နောက်ခံ

လက်ဝါးကပ်တိုင်ဒိုမိန်းအချက်အလက်တောင်းဆိုမှုများသည်ခေတ်သစ်ရှေ့တန်းဖွံ့ဖြိုးတိုးတက်မှုအတွက်ဘုံလိုအပ်ချက်ဖြစ်သည်။ Browser ၏လုံခြုံရေးမူဝါဒကန့်သတ်ချက်များကြောင့်စာမျက်နှာသည်မတူကွဲပြားသောဒိုမိန်းအမည်များ, protocols သို့မဟုတ် ports များမှအချက်အလက်များကိုတိုက်ရိုက် ရယူ. မရပါ။ ဤဆောင်းပါးသည် PHP ဘာသာစကားနှင့်ပတ် 0 န်းကျင်တွင်အဓိကလက်ဝါးကြီးအုပ်သောဒိုမိန်းဂီယာပြ solutions နှစ်ခုကိုအကောင်အထည်ဖော်ခြင်းနည်းလမ်းများကိုအကောင်အထည်ဖော်သွားမည်ဖြစ်သည်။

2 ။ တူညီသောမူရင်းမဟာဗျူဟာကိုနားလည်ပါ

"at ား letian-older-older protal" သည်လုံခြုံရေးကိုသေချာစေရန်ဘရောက်ဇာများမှအသုံးပြုသောအရေးကြီးသောယန္တရားတစ်ခုဖြစ်သည်။ Protocol, domain name and parment ကိုပုံမှန်အားဖြင့်ဆာဗာအရင်းအမြစ်များကို 0 င်ရောက်နိုင်ရန်အတွက် Protocin, ဥပမာအားဖြင့်, စာမျက်နှာလိပ်စာသည် http://www.example.com/index.html,

  • အဆိုပါ protocol http ဖြစ်ရမည်
  • ဒိုမိန်းအမည် www.example.com ဖြစ်ရမည်
  • port သည်ပုံမှန် 80 (port ကိုမကြေငြာသည့်အခါ) ဖြစ်ရမည်။

3 ။ Cross-Domain တောင်းဆိုမှုများအတွက် JSONP ကိုသုံးပါ

JSONP (JSON နှင့်အတူ JSON) သည် script tags များအပေါ် အခြေခံ. Cross-Domain data ရယူထားသောနည်းလမ်းဖြစ်သည်။ ဇာတ်ညွှန်း tag ကိုတူညီသောပေါ်လစီမှကန့်သတ်ထားခြင်းမရှိပါက၎င်းကိုအခြားဒိုမိန်းအမည်များမှအချက်အလက်များကိုတောင်းခံရန်အသုံးပြုနိုင်ပြီး callback function ကိုမှတစ်ဆင့်ပြန်လာတန်ဖိုးကိုရရှိနိုင်သည်။

 <script type="text/javascript">
    function jsonpCallback(data){
        alert(data);
    }
</script>
<script type="text/javascript" src="http://www.domain2.com/data.php?callback=jsonpCallback"></script>

ဆာဗာဘက်ရှိ PHP ကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -

 <?php
$data = array('name' => 'Q.syr', 'age' => 24);
echo $_GET['callback'] . '(' . json_encode($data) . ')';
?>

ဤနည်းလမ်းသည်တောင်းဆိုမှုများကိုအထောက်အပံ့များရရန်သာလျှင်အသုံးပြုရန်လွယ်ကူသည်, သို့သော် XSS တိုက်ခိုက်မှုအန္တရာယ်ကဲ့သို့သောလုံခြုံရေးအန္တရာယ်များလည်းရှိသည်။

4 ။ Cors Cross-domain အရင်းအမြစ်ဝေမျှရေးမူဝါဒ

Cors (Cross-the-the-orister Resource Sharing) သည် W3C မှရေးဆွဲထားသောစံတစ်ခုဖြစ်သည်။ ၎င်းသည် Performation Heavyers များကိုသတ်မှတ်ခြင်းဖြင့်မည်သည့်ဒိုမိန်းအမည်များကိုမည်သည့်ဒိုမိန်းအမည်များကို 0 င်ရောက်နိုင်ကြောင်းကြေငြာရန်ခွင့်ပြုသည်။ ၎င်းသည်လက်ရှိတွင်လုံခြုံပြီးယေဘုယျ Cross-domain processing နည်းလမ်းဖြစ်သည်။

4.1 PHP သည် Cors Response Header ကိုအကောင်အထည်ဖော်သည်

 header('Access-Control-Allow-Origin:*');
header('Access-Control-Allow-Methods:POST,GET');
header('Access-Control-Allow-Headers:x-requested-with,content-type');

ဥပမာ -

  • Access-control-provality-origent : Source Source ကိုအသုံးပြုခွင့်ရသည့်အရင်းအမြစ် * သည်ဒိုမိန်းများအားလုံးကိုလက်လှမ်းမီကြောင်းဆိုလိုသည်
  • Access-control- ခွင့်ပြု - နည်းလမ်းများ - HTTP နည်းလမ်းများခွင့်ပြုသည်
  • Access-control-element-headers : ခွင့်ပြုတောင်းဆိုမှုကို header field

4.2 ရှေ့မျက်နှာပြင်သည်ဒိုမိန်းတောင်းဆိုမှုများကိုအကောင်အထည်ဖော်ရန် XMLHTTPREQUET ကိုအသုံးပြုသည်

 var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function(){
    if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
        var responseText = xmlhttp.responseText;
        console.log(responseText);
    }
}
xmlhttp.open('GET', 'http://www.domain2.com/data.php', true);
xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlhttp.send();

ဤနည်းလမ်းသည် HTTP နည်းလမ်းများစွာကိုအထောက်အကူပြုပြီးအလွန်လုံခြုံမှုရှိပြီးလုံခြုံစိတ်ချရမှုရှိသော်လည်းတုန့်ပြန်မှုခေါင်းစီးကိုသတ်မှတ်ခြင်းနှင့်ပူးပေါင်းရန်လိုအပ်သည်။

5 ။ JSONP နှင့် CORS အကြားနှိုင်းယှဉ်

နည်းလမ်းနှစ်ခုတွင်ကိုယ်ပိုင်လက္ခဏာများရှိသည်။

  • JSONP: အကောင်အထည်ဖော်မှုသည်ရိုးရှင်းပါသည်, ဆာဗာဖွဲ့စည်းမှုမလိုအပ်ပါ။ လုံခြုံရေးအန္တရာယ်များရှိပါတယ်။
  • Cors: Standard Method သည်တောင်းဆိုမှုမြင့်မားသောတောင်းဆိုမှုအမျိုးအစားများနှင့်စစ်မှန်ကြောင်းအတည်ပြုယန္တရားများကိုထောက်ပံ့သည်။ backend တုန့်ပြန် header configurations လိုအပ်သည်။

6 ။ အကျဉ်းချုပ်

ဤဆောင်းပါးသည် PHP အတွက် PHP အတွက် PHP အတွက် PHP အတွက်အဓိကဖြေရှင်းချက်နှစ်ခုကိုရှင်းပြသည်။ developer များကစီမံကိန်း၏အမှန်တကယ်လိုအပ်ချက်များ, browser compatibility, လုံခြုံရေးနှင့်အခြားအချက်များအပေါ် အခြေခံ. သင့်လျော်သောအကောင်အထည်ဖော်မှုနည်းလမ်းကိုရွေးချယ်နိုင်သည်။ အကယ်. သင်သည်လုံခြုံရေးနှင့်ပြောင်းလွယ်ပြင်လွယ်မှုကိုလိုက်စားလျှင် Cross-domain processing အတွက် Cors နည်းလမ်းကို ဦး စားပေးရန်အကြံပြုသည်။