လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP ပုံစံများရှိ Cross-site scripting တိုက်ခိုက်မှု (XSS) နည်းလမ်းများ (XSS) နည်းလမ်းများအားထိရောက်စွာတားဆီးပါ

PHP ပုံစံများရှိ Cross-site scripting တိုက်ခိုက်မှု (XSS) နည်းလမ်းများ (XSS) နည်းလမ်းများအားထိရောက်စွာတားဆီးပါ

gitbox 2025-07-22

Cross-site scripting တိုက်ခိုက်မှု (XSS) ဆိုတာဘာလဲ။

Cross Site Scripting (XSS) သည်ဘုံကွန်ယက်လုံခြုံရေးအားနည်းချက်ဖြစ်သည်။ 0 က်ဘ်စာမျက်နှာထဲသို့အန္တရာယ်ရှိသည့်ကုဒ်ထိုးသွင်းခြင်းအားဖြင့်အသုံးပြုသူသည်အသုံးပြုသူသတင်းအချက်အလက်ယိုစိမ့်မှုယိုစိမ့်မှုနှင့် 0 က်ဘ်ဆိုက်ထိန်းချုပ်မှုကိုပင်ဖြစ်စေနိုင်သည်။

ဥပမာအားဖြင့်, ပုံစံတွင်အကာအကွယ်မရှိပါကတိုက်ခိုက်သူသည်အောက်ပါနှင့်ဆင်တူသောအန္တရာယ်ရှိသော script ကိုထည့်သွင်းနိုင်သည်။

 <span class="fun"><script type = "text / javascript"> Alert (&#39;Hello World&#39;), </ script></span>

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

XSS တိုက်ခိုက်မှုများကိုမည်သို့ကာကွယ်ရမည်နည်း။

အသုံးပြုသူ၏ input ကိုမှန်ကန်စွာ filter လုပ်ပါ

XSS ကိုကာကွယ်ရန်ပထမခြေလှမ်းမှာအသုံးပြုသူထည့်သွင်းမှုအချက်အလက်အားလုံးကိုထိရောက်စွာစစ်ဆေးရန်နှင့်အတည်ပြုရန်ဖြစ်သည်။ PHP တွင်ပါ 0 င်သောစစ်ထုတ်သည့် filtering functions များကိုတပ်ဆင်ထားသော်လည်းအချက်အလက်များလုံခြုံမှုကိုသေချာစေရန်အတွက်ရည်ရွယ်ချက်များလိုအပ်ချက်များနှင့်အညီပစ်မှတ်ထားသောလုပ်ဆောင်မှုများကိုရေးရန်အကြံပြုသည်။ ဥပမာအားဖြင့် input တွင်အက္ခရာများနှင့်နံပါတ်များသာပါ 0 င်ကြောင်းအတည်ပြုရန် function တစ်ခုကိုသင်သတ်မှတ်နိုင်သည်။

 function isStringValid($str) {
    return preg_match('/^[a-zA-Z0-9]+$/', $str);
}

ထို့အပြင်သုံးစွဲသူများမှ 0 င်ရောက်သောအထူးအက္ခရာများကို executable code တွင်ခွဲခြမ်းစိတ်ဖြာခြင်းကိုရှောင်ရှားရန်လွတ်မြောက်သင့်သည်။

 function escapeOutput($str) {
    return htmlspecialchars($str, ENT_QUOTES, 'UTF-8');
}

ဤလုပ်ဆောင်ချက်သည် HTMLSPECALCHARCHARS () htmlspecialchars () ကို အသုံးပြုသည်။

CSRF တိုကင်နှင့်လုံခြုံရေးကိုတိုးတက်အောင်လုပ်ပါ

CSRF ကိုအသုံးပြုခြင်း (Cross-site cross-site ကိုတောင်းဆိုခြင်းတောင်းပန်ခြင်း) တိုကင်သည်ထိရောက်သောကာကွယ်မှုနည်းလမ်းဖြစ်သည်။ ဆာဗာသည် cookie တွင်သိမ်းဆည်းထားသောကျပန်းတိုကင်တစ်ခုကိုထုတ်ပေးပြီး token ကို form ဝှက်ထားသောကွက်လပ်သို့ကပ်ထားသည်။ ပုံစံကိုတင်ပြသည့်အခါဆာဗာသည်တိုကင်နှစ်ခုသည်တသမတ်တည်းဖြစ်ကြောင်းစစ်ဆေးသည်, တောင်းဆိုချက်ရင်းမြစ်သည်တရားဝင်ဖြစ်သည်။

အကောင်အထည်ဖော်မှုသည်ကျပန်းကြိုးများထုတ်လုပ်ရန်, cookies များနှင့်လျှို့ဝှက်နယ်ပယ်များထုတ်လုပ်ရန်,

လုံခြုံရေးမူဝါဒများမှန်ကန်စွာ configure

input အတည်ပြုခြင်းအပြင်အခြားလုံခြုံရေးအစီအမံများကိုပြုပြင်သင့်သည် -

အကဲဖြတ်ခြင်း () function ကိုအသုံးပြုခြင်းအားပိတ်ပင်တားမြစ်သည်,

ပါဝင်မှုလုံခြုံရေးမူဝါဒ (CSP) ကိုဖွင့်ပြီး browsers မှတင်ထားသောအရင်းအမြစ်များကိုကန့်သတ်ပြီး XSS တိုက်ခိုက်မှုမျက်နှာပြင်ကိုလျှော့ချပါ။

ဆာဗာကိုတင်ခြင်းလမ်းကြောင်းများမှတဆင့်ဆာဗာကို 0 င်ရောက်ခြင်းကိုရှောင်ရှားရန်ဖိုင်တင်ခြင်းအမျိုးအစားနှင့်အရွယ်အစားကိုကန့်သတ်ပါ။

ဆင်ခြင်တုံတရားနှင့် output encoding ကိုင်တွယ်

ဒေတာများကိုထုတ်ယူသည့်အခါ, သုံးစွဲသူ input တိုက်ရိုက်ကိုတိုက်ရိုက်မထည့်ပါနှင့်, အထူးသဖြင့် HTML tags များပါ 0 င်သောအကြောင်းအရာများကိုရှောင်ပါ။ Script Execution ကိုကာကွယ်ရန် encoding functions များကို encoding functions များကို အသုံးပြု. အထူးအက္ခရာများမှလွတ်မြောက်သင့်သည်။ ဥပမာအားဖြင့်:

 $string = '<script>alert("XSS");</script>';
echo '<label>' . $string . '</label>';  // မလုံခြုံသောအရေးအသား
echo '<label>' . htmlspecialchars($string) . '</label>';  // လုံခြုံစိတ်ချရသောအရေးအသား

အကျဉ်းချုပ်

Cross-site scripting တိုက်ခိုက်မှုများ (XSS) သည် 0 က်ဘ်ဆိုက်လုံခြုံရေးအတွက်ဘုံနှင့်အန္တရာယ်ရှိသောအားနည်းချက်ဖြစ်သည်။ CSRF တိုကင်များကို အသုံးပြု. အသုံးပြုသူ input ကိုအတိအကျစစ်ဆေးခြင်း, လုံခြုံရေးဒိုင်းနယာကိုစဉ်ဆက်မပြတ်အာရုံစိုက်ခြင်းနှင့်အကာအကွယ်အစီအမံများကိုမွမ်းမံခြင်းဖြင့်သာအသုံးပြုသူသီးသန့်တည်ရှိမှုနှင့် 0 ဘ်ဆိုဒ်များလုံခြုံရေးကိုပိုမိုကောင်းမွန်စွာကာကွယ်နိုင်သည်။