Cross-site scripting (XSS) တိုက်ခိုက်မှုများသည်ဘုံဝက်ဘ်လျှောက်လွှာလုံခြုံရေးအားနည်းချက်ဖြစ်သည်။ XSS တိုက်ခိုက်မှုများသည်သုံးစွဲသူများ၏ privacy နှင့်လုံခြုံရေးကိုခြိမ်းခြောက်ရုံသာမကဒေတာချိုးဖောက်မှုများသို့မဟုတ်အကောင့်သို့လည်း ဦး ဆောင်လမ်းပြလိမ့်မည်။ ထို့ကြောင့် XSS တိုက်ခိုက်မှုများနှင့်ကြိုတင်ကာကွယ်ရေးအစီအမံများကိုနားလည်ခြင်းသည် developer များအတွက်အလွန်အရေးကြီးသည်။
XSS အားနည်းချက်များကိုအမြတ်ထုတ်ရန်နည်းလမ်းများစွာရှိသည်။ တိုက်ခိုက်သူများသည်အောက်ပါနည်းလမ်းများဖြင့်တိုက်ခိုက်မှုများကိုစတင်နိုင်သည်။
XSS တိုက်ခိုက်မှုများ၏ယန္တရားများကိုထိုးထွင်းသိမြင်ခြင်းအားဖြင့် developer များက web application များတွင်အားနည်းချက်များကိုပိုမိုရှာဖွေရန်နှင့်ဖြေရှင်းနိုင်သည်။
XSS တိုက်ခိုက်မှုများကိုကာကွယ်ရန်သော့ချက်မှာသင့်လျော်သောလုံခြုံရေးနည်းပညာများကိုကျင့်သုံးရန်ဖြစ်သည်။ ဤတွင်အချို့သောဘုံကာကွယ်တားဆီးရေးနည်းစနစ်များမှာ:
Input Verification သည်အသုံးပြုသူ input ကိုလုံခြုံမှုရှိစေရန်သေချာစေရန်အတွက်အရေးကြီးသောခြေလှမ်းတစ်ခုဖြစ်သည်။ ဤတွင်အသုံးပြုသော PHP လုပ်ဆောင်ချက်အချို့ကိုဤတွင်ဖော်ပြထားသည်။
Output Encoding သည် XSS တိုက်ခိုက်မှုများကိုကာကွယ်ရန်အရေးကြီးသောနည်းစနစ်များထဲမှတစ်ခုဖြစ်သည်။ htmlspecialchars ကဲ့သို့သောလုပ်ဆောင်ချက်များကိုအသုံးပြုခြင်းအားဖြင့်အသုံးပြုသူများမှထည့်သွင်းထားသောအထူးအက္ခရာများကိုအန္တရာယ်ရှိသော script လုပ်ဆောင်မှုကိုကာကွယ်ရန် HTML အဖွဲ့အစည်းများသို့ပြောင်းလဲနိုင်သည်။ ဒီမှာတွေ့ရတဲ့ဇာတ်ကောင် encodings အချို့ကိုကြည့်ပါ။
အကြောင်းအရာလုံခြုံရေးမူဝါဒ (CSP) ကိုအကောင်အထည်ဖော်ခြင်းအားဖြင့်သင်သည်မည်သည့်အကြောင်းအရာရင်းမြစ်များယုံကြည်စိတ်ချရသနည်း, ဥပမာအားဖြင့်, သင်သည်တူညီသောအရင်းအမြစ်မှ 0 ယ်ခြင်းမှစာမျက်နှာအရင်းအမြစ်များကိုကန့်သတ်ရန် "Default-SRC 'Self' SERVED ကိုသုံးနိုင်သည်။ ဤတွင်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။
header(
"Content-Security-Policy: default-src 'self'"
);
ဤဥပမာသည် CSP ၏ခေါင်းစီးများမှတဆင့်စာမျက်နှာအရင်းအမြစ်များကိုကန့်သတ်ထားသည့်နေရာကိုကန့်သတ်ထားသည်။
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 စာကြည့်တိုက်များသည် XSS အကာအကွယ်ကိုအကောင်အထည်ဖော်ရန်လွယ်ကူစေနိုင်သည်။ ဤတွင်အသုံးများသောစာကြည့်တိုက်အချို့ကိုကြည့်ပါ။
ဤဆောင်းပါးသည် HTML နှင့် PHP တွင် XSS တိုက်ခိုက်မှုများကိုမည်သို့ကာကွယ်ရမည်ကိုအသေးစိတ်ဖော်ပြထားသည်။ input verification, output encoding, output encoding, အကြောင်းအရာလုံခြုံရေးမူဝါဒများအသုံးပြုခြင်းနှင့်တတိယပါတီစာကြည့်တိုက်များအသုံးပြုခြင်းဖြင့် developer များသည် XSS အားနည်းချက်များကိုထိရောက်စွာကာကွယ်နိုင်ပြီး 0 က်ဘ်၏ application များ၏လုံခြုံရေးကိုကာကွယ်နိုင်သည်။