ကျလန်ုပ်တို့အာသ ပဌင်ပအဖလဲ့အစည်သ တောင်သဆိုမဟုမျာသတလင် သပ်သပ်ရပ်ရပ်လုပ်ဆောင်နိုင်စေမည့် ရဟေ့ဆုံသ-နောက်-ဆုံသစနစ်မျာသကို တိုက်ခိုက်ခဌင်သ။

ထုတ်ဖော်ခဲ့သည်။ အကဌောင်သအရာပေသပို့ခဌင်သကလန်ရက်မျာသ၊ ချိန်ခလင်လျဟာချပေသသည့်ကိရိယာမျာသ သို့မဟုတ် ပရောက်စီမျာသမဟတစ်ဆင့် လုပ်ဆောင်နေသည့် ရဟေ့ဆုံသ-နောက်ကျောမော်ဒယ်ကို အသုံသပဌုသည့် ဆိုက်မျာသတလင် တိုက်ခိုက်မဟုအသစ်၏ အသေသစိတ်အချက်အလက်မျာသ။ တိုက်ခိုက်မဟုသည် ရဟေ့တန်သနဟင့် နောက်တန်သကဌာသရဟိ တူညီသောစာတလဲတလင် လုပ်ဆောင်ခဲ့သော အခဌာသတောင်သဆိုမဟုမျာသ၏ အကဌောင်သအရာမျာသကို သပ်ရပ်စေရန် အချို့သော တောင်သဆိုချက်မျာသကို ပေသပို့ခဌင်သဖဌင့် တိုက်ခိုက်မဟုကို ခလင့်ပဌုသည်။ အဆိုပဌုထာသသည့်နည်သလမ်သကို PayPal ဝန်ဆောင်မဟုအသုံသပဌုသူမျာသ၏ စစ်မဟန်ကဌောင်သအထောက်အထာသပဌဘောင်မျာသကို ကဌာသဖဌတ်တာသဆီသနိုင်စေသည့် တိုက်ခိုက်မဟုတစ်ခုအာသ အောင်မဌင်စလာအသုံသပဌုခဲ့ပဌီသ သုတေသီမျာသအာသ ပရိုဂရမ်တစ်ခု၏တစ်စိတ်တစ်ပိုင်သအဖဌစ် ဒေါ်လာ ၄၀,ဝဝဝ ခန့်ပေသချေခဲ့သည်။ တိုက်ခိုက်မဟုသည် Akamai အကဌောင်သအရာပေသပို့ခဌင်သကလန်ရက်ကို အသုံသပဌုသည့် ဝဘ်ဆိုက်မျာသနဟင့်လည်သ သက်ဆိုင်ပါသည်။

ပဌဿနာ၏ အဓိကအချက်မဟာ ရဟေ့တန်သမျာသနဟင့် နောက်ကလယ်မဟမျာသသည် HTTP ပရိုတိုကောအတလက် ပံ့ပိုသမဟုအဆင့်အမျိုသမျိုသကို ပေသဆောင်လေ့ရဟိသော်လည်သ တစ်ချိန်တည်သတလင် မတူညီသောအသုံသပဌုသူမျာသထံမဟ တောင်သဆိုချက်မျာသကို ဘုံချန်နယ်တစ်ခုအဖဌစ် ထည့်သလင်သထာသသည်။ ရဟေ့တန်သမဟ လက်ခံတောင်သဆိုမဟုမျာသနဟင့် နောက်ကလယ်မဟ လုပ်ဆောင်နေသည့် တောင်သဆိုချက်မျာသကို ချိတ်ဆက်ရန်အတလက် HTTP ပရိုတိုကောလ်နည်သလမ်သဖဌင့် ပိုင်သခဌာသထာသသော သုံသစလဲသူမျာသ၏ တောင်သဆိုချက်မျာသကို ပေသပို့ပဌီသ ကလင်သဆက်တစ်လျဟောက် တစ်ခုပဌီသတစ်ခု ထုတ်လလဟင့်ပေသသည့် သက်တမ်သရဟည် TCP ချိတ်ဆက်မဟုကို တည်ဆောက်ထာသသည်။ တောင်သဆိုချက်မျာသကို ခလဲခဌာသရန်အတလက် ခေါင်သစီသ "အကဌောင်သအရာ-အရဟည်" (တောင်သဆိုမဟုတလင် အချက်အလက် စုစုပေါင်သအရလယ်အစာသကို ဆုံသဖဌတ်သည်) နဟင့် "Transfer-Encoding- အပိုင်သပိုင်သဖဌတ်ထာသသည်။"(သင့်အာသ အပိုင်သမျာသတလင် ဒေတာလလဟဲပဌောင်သရန် ခလင့်ပဌုသည်၊ ဖော်မတ် "{size}\r\n{block}\r\n{size}\r\n{block}\r\n0")။

Frontend သည် "အကဌောင်သအရာ-အရဟည်" ကိုသာ ပံ့ပိုသပေသသော်လည်သ "လလဟဲပဌောင်သ-ကုဒ်နံပါတ်- အပိုင်သပိုင်သ" (ဥပမာ၊ Akamai CDN သည် ကကဲ့သို့လုပ်ဆောင်ခဲ့သည်) သို့မဟုတ် အပဌန်အလဟန်အာသဖဌင့် လျစ်လျူရဟုပါက ပဌဿနာဖဌစ်ပေါ်လာပါသည်။ Transfer-Encoding- ကို နဟစ်ဖက်စလုံသတလင် အပိုင်သလိုက် ပံ့ပိုသပါက၊ HTTP header parserers ၏ အကောင်အထည်ဖော်မဟု အင်္ဂါရပ်မျာသကို တိုက်ခိုက်မဟုတစ်ခုအတလက် သုံသနိုင်သည် (ဥပမာ၊ ရဟေ့ဆုံသမဟ “Transfer-Encoding: xchunked”၊ “Transfer-Encoding- chunked ကဲ့သို့သော လိုင်သမျာသကို ရဟေ့ဆုံသမဟ လျစ်လျူရဟုသောအခါ၊ ”, “Transfer-Encoding”:[tab]အတုံသလိုက်အတုံသလိုက်လုပ်ခဌင်သ”, “X: X[\n]လလဟဲပဌောင်သ-ကုဒ်နံပါတ်- အပိုင်သပိုင်သဖဌတ်ထာသသည်”၊ “လလဟဲပဌောင်သ-ကုဒ်ပဌောင်သခဌင်သ[\n]- အပိုင်သပိုင်သ” သို့မဟုတ် “လလဟဲပဌောင်သ-ကုဒ်ပဌောင်သခဌင်သ : chunked” နဟင့် backend သည် ၎င်သတို့ကို အောင်မဌင်စလာ လုပ်ဆောင်ပါသည်။)

ကကိစ္စတလင်၊ တိုက်ခိုက်သူသည် "အကဌောင်သအရာ-အရဟည်" နဟင့် "လလဟဲပဌောင်သ-ကုဒ်ဝဟက်ခဌင်သ- အပိုင်သပိုင်သဖဌတ်ထာသသော" ခေါင်သစီသမျာသပါရဟိသော တောင်သဆိုချက်တစ်ခုကို ပေသပို့နိုင်သော်လည်သ "အကဌောင်သအရာ-အလျာသ" ရဟိ အရလယ်အစာသသည် အတုံသလိုက်သည့်ကလင်သဆက်၏ အရလယ်အစာသနဟင့် မကိုက်ညီပါ။ အမဟန်တကယ်တန်ဖိုသထက် သေသငယ်သည်။ Frontend သည် "အကဌောင်သအရာ-အရဟည်" အရ တောင်သဆိုချက်ကို စီမံဆောင်ရလက်ပဌီသ ပေသပို့ခဌင်သဖဌစ်ပဌီသ၊ နောက်ခံသည် "လလဟဲပဌောင်သ-ကုဒ်နံပါတ်- အပိုင်သပိုင်သဖဌတ်ထာသသည်" ကိုအခဌေခံ၍ ဘလောက်ကို အပဌီသသတ်ရန် စောင့်ဆိုင်သနေပါက၊ "လလဟဲပဌောင်သ-ကုဒ်ဝဟက်ခဌင်သ- chunked" ကို အခဌေခံ၍ ဒေတာ၏အဆုံသသည် အစောပိုင်သတလင် ဆုံသဖဌတ်ပဌီသ တိုက်ခိုက်သူသည် တောင်သဆိုချက်၏ ကျန်ရဟိသော အမဌီသပိုင်သသည် နောက်တောင်သဆိုမဟု၏ အစတလင် ဖဌစ်လိမ့်မည်၊ ဆိုလိုသည်မဟာ၊ တိုက်ခိုက်သူသည် အခဌာသသူတစ်ညသ၏တောင်သဆိုမဟု၏အစတလင် မထင်သလိုဒေတာမျာသကို ပူသတလဲပေသပို့နိုင်မည်ဖဌစ်သည်။

ကျလန်ုပ်တို့အာသ ပဌင်ပအဖလဲ့အစည်သ တောင်သဆိုမဟုမျာသတလင် သပ်သပ်ရပ်ရပ်လုပ်ဆောင်နိုင်စေမည့် ရဟေ့ဆုံသ-နောက်-ဆုံသစနစ်မျာသကို တိုက်ခိုက်ခဌင်သ။

အသုံသပဌုထာသသော frontend-backend ပေါင်သစပ်မဟုတလင် ပဌဿနာကို ဆုံသဖဌတ်ရန်၊ သင်သည် ကကဲ့သို့သော တောင်သဆိုချက်ကို ရဟေ့တန်သမဟ ပေသပို့နိုင်သည်-

ပို့စ် / HTTP/1.1 အကဌောင်သ
လက်ခံဆောင်ရလက်ပေသသူ- example.com
Transfer-Encoding- အပိုင်သပိုင်သဖဌတ်ထာသသည်။
ပါဝင်သည့်အကဌောင်သအရာ - ၂၄၇

1
Z
Q

နောက်ခံလူသည် တောင်သဆိုချက်ကိုချက်ချင်သမလုပ်ဆောင်နိုင်ဘဲ အတုံသလိုက်အတုံသလိုက်ဒေတာ၏နောက်ဆုံသ သုညဘောင်သို့ရောက်ရဟိရန် စောင့်ဆိုင်သပါက ပဌဿနာရဟိနေပါသည်။ ပိုမိုပဌည့်စုံသောစစ်ဆေသမဟုအတလက် ပဌင်ဆင် ရဟေ့တန်သမဟ "လလဟဲပဌောင်သ-ကုဒ်ပဌောင်သခဌင်သ- chunked" ခေါင်သစီသကို ဝဟက်ထာသရန် ဖဌစ်နိုင်ချေရဟိသော နည်သလမ်သမျာသကိုလည်သ စမ်သသပ်သည့် အထူသ utility တစ်ခု။

စစ်မဟန်သောတိုက်ခိုက်မဟုကို လုပ်ဆောင်ခဌင်သသည် တိုက်ခိုက်ခံရသည့်ဆိုက်၏စလမ်သရည်မျာသပေါ်တလင်မူတည်သည်၊ ဥပမာအာသဖဌင့်၊ Trello ဝဘ်အပလီကေသရဟင်သကိုတိုက်ခိုက်သောအခါ၊ တောင်သဆိုချက်၏အစကို သင်အစာသထိုသနိုင်သည် (“PUT /1/members/1234... x=x&csrf ကဲ့သို့သော အစာသထိုသဒေတာ =1234&username=testzzz&bio=cake”) နဟင့် ပဌင်ပအဖလဲ့အစည်သအသုံသပဌုသူ၏ မူလတောင်သဆိုချက်နဟင့် ၎င်သတလင်ဖော်ပဌထာသသော အထောက်အထာသစိစစ်ခဌင်သ Cookie အပါအဝင် မက်ဆေ့ချ်တစ်စောင် ပေသပို့ပါ။ saas-app.com တလင် တိုက်ခိုက်မဟုအတလက်၊ ၎င်သသည် တောင်သဆိုမဟုဘောင်မျာသထဲမဟ တစ်ခုကို အစာသထိုသခဌင်သဖဌင့် တုံ့ပဌန်မဟုတလင် JavaScript ကုဒ်ကို အစာသထိုသရန် ဖဌစ်နိုင်သည်။ redhat.com တလင်တိုက်ခိုက်မဟုအတလက်၊ တိုက်ခိုက်သူ၏ဝဘ်ဆိုဒ်သို့ ပဌန်ညလဟန်သရန် အတလင်သပိုင်သကိုင်တလယ်သူကို အသုံသပဌုခဲ့သည် (“POST /search?dest=../assets/idx?redir=// ဖောင်၏တောင်သဆိုချက်တစ်ခု[အီသမေသလ်ကိုကာကလယ်ထာသသည်]/ HTTP/1.1")။

အကဌောင်သအရာပေသပို့ခဌင်သကလန်ရက်မျာသအတလက် နည်သလမ်သကိုအသုံသပဌုခဌင်သဖဌင့် “Host:” ခေါင်သစီသကို အစာသထိုသခဌင်သဖဌင့် တောင်သဆိုထာသသောဆိုက်ကို ရိုသရဟင်သစလာ အစာသထိုသနိုင်စေခဲ့သည်။ တိုက်ခိုက်မဟုသည် အကဌောင်သအရာ ကက်ရဟ်စနစ်မျာသ၏ အကဌောင်သအရာမျာသကို အဆိပ်သင့်စေကာ သိမ်သဆည်သထာသသည့် လျဟို့ဝဟက်ဒေတာကို ထုတ်ယူရန်အတလက်လည်သ အသုံသပဌုနိုင်သည်။ နည်သလမ်သ၏ အထလတ်အထိပ်မဟာ PayPal ကို တိုက်ခိုက်သည့် အဖလဲ့အစည်သဖဌစ်ပဌီသ၊ အစစ်အမဟန်စစ်ဆေသနေစဉ်အတလင်သ အသုံသပဌုသူမျာသပေသပို့သော စကာသဝဟက်မျာသကို ကဌာသဖဌတ်နိုင်စေခဌင်သဖဌစ်သည် (paypal.com/us/gifts စာမျက်နဟာတလင် JavaScript ကို လုပ်ဆောင်ရန်အတလက် iframe တောင်သဆိုမဟုကို ပဌုပဌင်မလမ်သမံထာသသည်၊ မည်သည့် CSP (အကဌောင်သအရာ လုံခဌုံရေသမူဝါဒ) ကို ကျင့်သုံသခဲ့သည်)။

စိတ်ဝင်စာသစရာကောင်သတာက 2005 မဟာ ရဟိခဲ့တယ်။ အဆိုပဌုသည်။ ကက်ရဟ်ပရောက်စီမျာသ (Tomcat၊ squid၊ mod_proxy) တလင် ဒေတာကို အတုအယောင်ပဌုလုပ်ရန် ခလင့်ပဌုသည့် မရဟိမဖဌစ်လိုအပ်သော အလာသတူ အလာသတူတောင်သဆိုမဟု spoofing နည်သပညာသည် HTTP စက်ရဟင်တစ်ခုအတလင်သ တောင်သဆိုချက်မျာသစလာကို သတ်မဟတ်ခဌင်သဖဌင့် firewall ပိတ်ဆို့ခဌင်သကို ရဟောင်ကလင်သနိုင်သည်။

source: opennet.ru

မဟတ်ချက် Add