လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> XSS တိုက်ခိုက်မှုများကို HTML နှင့် PHP ကို ​​အသုံးပြု. မည်သို့ထိရောက်စွာတားဆီးနိုင်သနည်း။

XSS တိုက်ခိုက်မှုများကို HTML နှင့် PHP ကို ​​အသုံးပြု. မည်သို့ထိရောက်စွာတားဆီးနိုင်သနည်း။

M66 2025-06-14

XSS တိုက်ခိုက်မှုဆိုတာဘာလဲ။

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

XSS တိုက်ခိုက်မှုများကွဲပြားခြားနားသောအမျိုးအစားများ

  • Reflective XSS - သုံးစွဲသူတင်သွင်းသောအချက်အလက်များကိုစနစ်တကျသန့်ရှင်းရေးမသန့်ရှင်းပါနှင့်။ တိုက်ခိုက်သူသည်အသုံးပြုသူကိုကလစ်နှိပ်ရန်အန္တရာယ်ရှိသော URL သို့မဟုတ်ပုံစံကိုတည်ဆောက်ရန်အန္တရာယ်ရှိသည့် URL သို့မဟုတ်ပုံစံကိုတည်ဆောက်လိမ့်မည်။
  • သိုလှောင်မှု XSSS - သိုလှောင်မှု XSS များကိုလည်းဆာဗာတွင်သိမ်းဆည်းထားသည့်အန္တရာယ်ရှိသော scripts ကိုရည်ညွှန်းပြီးအသုံးပြုသူကို 0 က်ဘ်စာမျက်နှာမှတဆင့်ပြန်ပို့သည်။ အသုံးပြုသူသည်စာမျက်နှာကိုဆက်သွယ်သောအခါအန္တရာယ်ရှိသော script ကိုအလိုအလျောက်ကွပ်မျက်ခံရလိမ့်မည်။ ၎င်းသည်အထိခိုက်မခံသောသတင်းအချက်အလက်များကိုခိုးယူခြင်းသို့မဟုတ်သုံးစွဲသူ၏အကောင့်ကိုကိုင်တွယ်နိုင်သည်။
  • Dom-based XSS - Dom-based XSS တိုက်ခိုက်မှုများသည်ဝက်ဘ်စာမျက်နှာ၏ Dom ဖွဲ့စည်းပုံကို manipulate လုပ်ခြင်း, စာမျက်နှာအကြောင်းအရာကိုပြောင်းလဲရန်သို့မဟုတ်ဒေတာများကိုခိုးယူရန်အသုံးပြုသည်။ အခြား XSS ၏အခြားအမျိုးအစားများနှင့်မတူဘဲဤတိုက်ခိုက်မှုအမျိုးအစားကို JavaScript မှတဆင့် 0 န်ဆောင်မှုခံယူသူတစ် ဦး အပေါ်တွင်အဓိကအားဖြင့်ဖျော်ဖြေတင်ဆက်သည်။

XSS အားနည်းချက်များကိုအသုံးချနည်း။

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

  • ပုံစံထည့်သွင်းမှုနယ်ပယ်များ, မှတ်ချက်များ,
  • javascript လုပ်ဆောင်ချက်များနှင့်အရာဝတ်ထုများကို အသုံးပြု. မတရားကုဒ်ကိုကွပ်မျက်ရန်။
  • XS အားနည်းချက်တစ်ခုဖြစ်ပေါ်စေရန် URL parameters များကို manipulate လုပ်ပါ။

XSS တိုက်ခိုက်မှုများ၏ယန္တရားများကိုထိုးထွင်းသိမြင်ခြင်းအားဖြင့် developer များက web application များတွင်အားနည်းချက်များကိုပိုမိုရှာဖွေရန်နှင့်ဖြေရှင်းနိုင်သည်။

XSS Prevention နည်းပညာ

XSS တိုက်ခိုက်မှုများကိုကာကွယ်ရန်သော့ချက်မှာသင့်လျော်သောလုံခြုံရေးနည်းပညာများကိုကျင့်သုံးရန်ဖြစ်သည်။ ဤတွင်အချို့သောဘုံကာကွယ်တားဆီးရေးနည်းစနစ်များမှာ:

အတည်ပြုခြင်းနှင့်သန့်ရှင်းရေးရိုက်ထည့်ပါ

Input Verification သည်အသုံးပြုသူ input ကိုလုံခြုံမှုရှိစေရန်သေချာစေရန်အတွက်အရေးကြီးသောခြေလှမ်းတစ်ခုဖြစ်သည်။ ဤတွင်အသုံးပြုသော PHP လုပ်ဆောင်ချက်အချို့ကိုဤတွင်ဖော်ပြထားသည်။

  • Filter_VAR () - ဤလုပ်ဆောင်မှုသည်ဤလုပ်ဆောင်မှုသည်အီးမေးလ်များ, စင်ကာပူများကိုသန့်ရှင်းရေးလုပ်ခြင်း,
  • strip_tags () - ဤလုပ်ဆောင်မှုသည် HTML နှင့် PHP Tags များကိုကြိုးမဲ့ကုဒ်များကွပ်မျက်မှုများကိုရှောင်ရှားရန်ကြိုးများနှင့် PHP tags များကိုဖယ်ရှားပေးသည်။
  • Preg_replace () - ပုံမှန်အသုံးအနှုန်းတွေကိုအသုံးပြုပြီး input data တွေကိုသန့်ရှင်းစေတယ်။
  • strlen () - အလွန်အကျွံသို့မဟုတ်လိုက်နာမှုမရှိသောအချက်အလက်များကိုကာကွယ်ရန် input အချက်အလက်များ၏အရှည်ကိုစစ်ဆေးရန်အသုံးပြုသည်။
  • Addslashes () - SQL ဆေးထိုးတိုက်ခိုက်မှုများကိုကာကွယ်ရန်ဒေတာဘေ့စ်များကိုပြုပြင်သည့်အခါအထူးအဓိပ္ပာယ်ဖွင့်သည့်စာလုံးများကိုအထူးအဓိပ္ပါယ်များဖြင့်အလိုအလျောက်ထည့်ပါ။

output encoding

Output Encoding သည် XSS တိုက်ခိုက်မှုများကိုကာကွယ်ရန်အရေးကြီးသောနည်းစနစ်များထဲမှတစ်ခုဖြစ်သည်။ htmlspecialchars ကဲ့သို့သောလုပ်ဆောင်ချက်များကိုအသုံးပြုခြင်းအားဖြင့်အသုံးပြုသူများမှထည့်သွင်းထားသောအထူးအက္ခရာများကိုအန္တရာယ်ရှိသော script လုပ်ဆောင်မှုကိုကာကွယ်ရန် HTML အဖွဲ့အစည်းများသို့ပြောင်းလဲနိုင်သည်။ ဒီမှာတွေ့ရတဲ့ဇာတ်ကောင် encodings အချို့ကိုကြည့်ပါ။

  • "&" ဖြစ်လာသည် &
  • "" ဖြစ်လာသည် "
  • ">" ဖြစ်လာသည်
  • <"<" ဖြစ်လာသည်
  • "'' ဖြစ်လာ ''

အကြောင်းအရာလုံခြုံရေးမူဝါဒ (CSP)

အကြောင်းအရာလုံခြုံရေးမူဝါဒ (CSP) ကိုအကောင်အထည်ဖော်ခြင်းအားဖြင့်သင်သည်မည်သည့်အကြောင်းအရာရင်းမြစ်များယုံကြည်စိတ်ချရသနည်း, ဥပမာအားဖြင့်, သင်သည်တူညီသောအရင်းအမြစ်မှ 0 ယ်ခြင်းမှစာမျက်နှာအရင်းအမြစ်များကိုကန့်သတ်ရန် "Default-SRC 'Self' SERVED ကိုသုံးနိုင်သည်။ ဤတွင်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။

header( "Content-Security-Policy: default-src 'self'" );

ဤဥပမာသည် CSP ၏ခေါင်းစီးများမှတဆင့်စာမျက်နှာအရင်းအမြစ်များကိုကန့်သတ်ထားသည့်နေရာကိုကန့်သတ်ထားသည်။

ပြင်ဆင်ထားသောထုတ်ပြန်ချက်များနှင့် parameterized မေးမြန်းချက်များကိုသုံးပါ

SQL Injection ကိုကာကွယ်ခြင်းသည် XSS တိုက်ခိုက်မှုများကိုရှောင်ရှားရန်အရေးကြီးသောနည်းလမ်းတစ်ခုဖြစ်သည်။ Parameterized မေးမြန်းချက်များကိုအသုံးပြုခြင်းနှင့်ပြင်ဆင်ထားသည့်ထုတ်ပြန်ချက်များကိုအသုံးပြုခြင်းအားဖြင့်အသုံးပြုသူ input ကို SQL code နှင့် SQL Code မှခွဲထုတ်ထားကြောင်းသေချာစေနိုင်သည်။ ဤတွင် PHP ၏ဥပမာတစ်ခုဖြစ်သည်။

$stmt = $pdo ->prepare( "SELECT * FROM users WHERE username = ?" );

$stmt ->execute([ $username ]);

ဤကုဒ်သည် SQL Code မှသုံးစွဲသူထည့်သွင်းမှုများကိုခွဲဝေပေးပြီး XSS နှင့် SQL injection တိုက်ခိုက်မှုများကိုရှောင်ရှားရန်။

တတိယပါတီ PHP စာကြည့်တိုက်များကိုသုံးပါ

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

  • HTMLPurifier - အသုံးပြုသူထည့်သွင်းမှုမှအလားအလာရှိသောအန္တရာယ်ရှိသောကုဒ်ကိုသန့်ရှင်းစေသောအားကောင်းသော HTML filtering စာကြည့်တိုက်။
  • Antixss - Microsoft မှတီထွင်ထားသောစာကြည့်တိုက်တစ်ခု HTML, JavaScript စသည့်အခင်းအကျင်းများပါ 0 င်သည်။
  • PHP လုံခြုံရေးဆိုင်ရာအကြံပြုချက်များ - စီမံကိန်းမှီခိုအားထားခြင်းဖြင့်သက်ဆိုင်ရာလုံခြုံရေးအားနည်းချက်များကိုသိရှိနိုင်ရန်။
  • XSS တိုက်ခိုက်မှုများကိုကာကွယ်ရန်လုံခြုံသော encoding ကိုအလိုအလျောက်သက်ဆိုင်သောစာကြည့်တိုက်ကို HTMLSAFE ကို ပေးသည်။

အကျဉ်းချုပ်

ဤဆောင်းပါးသည် HTML နှင့် PHP တွင် XSS တိုက်ခိုက်မှုများကိုမည်သို့ကာကွယ်ရမည်ကိုအသေးစိတ်ဖော်ပြထားသည်။ input verification, output encoding, output encoding, အကြောင်းအရာလုံခြုံရေးမူဝါဒများအသုံးပြုခြင်းနှင့်တတိယပါတီစာကြည့်တိုက်များအသုံးပြုခြင်းဖြင့် developer များသည် XSS အားနည်းချက်များကိုထိရောက်စွာကာကွယ်နိုင်ပြီး 0 က်ဘ်၏ application များ၏လုံခြုံရေးကိုကာကွယ်နိုင်သည်။