လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP Security Programming Tips: XSS တိုက်ခိုက်မှုများကိုကာကွယ်ရန် filter_input function ကိုသုံးပါ

PHP Security Programming Tips: XSS တိုက်ခိုက်မှုများကိုကာကွယ်ရန် filter_input function ကိုသုံးပါ

M66 2025-06-29

PHP Security Programming Tips: XSS တိုက်ခိုက်မှုများကိုကာကွယ်ရန် filter_input function ကိုသုံးပါ

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

Cross-site scripting တိုက်ခိုက်မှုများကိုနားလည်ခြင်း (XSS)

XSS တိုက်ခိုက်မှုများသည်တိုက်ခိုက်သူတစ် ဦး သည်ယုံကြည်စိတ်ချရသောဝက်ဘ်ဆိုက်များသို့အန္တရာယ်ရှိသော script များကို 0 င်ရောက်ပြီးအသုံးပြုသူ၏ browser ကို အသုံးပြု. ၎င်းတို့ကိုလုပ်ဆောင်သည်။ ဤနည်းအားဖြင့်တိုက်ခိုက်သူသည်ဝင်ရောက်ခွင့်အထောက်အထားများသို့မဟုတ်ကိုယ်ရေးကိုယ်တာအချက်အလက်များကဲ့သို့သောအသုံးပြုသူများထံမှအထိခိုက်မခံသောအချက်အလက်များကိုခိုးယူပြီးအသုံးပြုသူ၏ session ကိုအပြည့်အဝထိန်းချုပ်နိုင်သည်။

input filtering အတွက် filter_input function ကိုသုံးပါ

PHP မှ filter_Input function သည်အသုံးပြုသူတောင်းဆိုချက်များမှ input data များကိုရယူနိုင်သည့်အလွန်လက်တွေ့ကျသောကိရိယာတစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်ချက်သည် input တစ်ခုတည်းကိုသာ filter မလုပ်နိုင်ပါ, သို့သော်သင်၏လိုအပ်ချက်များအရကွဲပြားသော filter များကိုလည်းရွေးချယ်နိုင်သည်။

XSS တိုက်ခိုက်မှုများကိုကာကွယ်ရန်အတွက်အသုံးပြုသူ၏ input data ကို filter လုပ်ရန် filter_input function ကိုသုံးနိုင်သည်။

နမူနာကုဒ်:

 
<?php
$input = filter_input(INPUT_GET, 'param', FILTER_SANITIZE_STRING);
echo "filtered input ကို:" . $input;
?>

အထက်ပါကုဒ်တွင် filter_Input function ကို 'Param' ဟုခေါ်သော input function ကိုရယူရန်အသုံးပြုသည်။ Filter_Sanitize_String filter မှတစ်ဆင့် HTML tags များအားလုံးကိုရှင်းရှင်းလင်းလင်းဖော်ပြရန် XSS တိုက်ခိုက်မှုများကိုတားဆီးနိုင်သည်။

XSS တိုက်ခိုက်မှုအန္တရာယ်ကိုလျှော့ချရန် filter များကိုအသုံးပြုပါ

Filter_Sanitize_String လုပ်သည့် filter များအပြင် PHP သည် XSS တိုက်ခိုက်မှုများကိုကာကွယ်ရန်အတွက်အခြားစစ်ထုတ်စက်များကိုလည်းထောက်ပံ့ပေးသည်။

နမူနာကုဒ်:

 
<?php
$input = filter_input(INPUT_POST, 'param', FILTER_CALLBACK, array('options' => 'htmlspecialchars'));
echo "filtered input ကို:" . $input;
?>

ဤဥပမာတွင် Filter_Callback filter ကို အသုံးပြု. callback function htmlspecialchars မှတစ်ဆင့် input တွင်အထူးအက္ခရာများကိုသုံးသည်။ ၎င်းသည်အန္တရာယ်ရှိသော script များဆေးထိုးခြင်းကိုထိရောက်စွာတားဆီးနိုင်သည်။

output filtering နှင့် encoding

XSS တိုက်ခိုက်မှုများကိုကာကွယ်ရန်ပထမခြေလှမ်းမှာ input data ကို filter လုပ်ရန်ဖြစ်သည်။ သို့သော်တစ် ဦး တည်းမှာမလုံလောက်ပါ။ output အချက်အလက်များသည်လုံခြုံမှုရှိစေရန်သေချာစေရန်အတွက်ကျွန်ုပ်တို့သည် encoding outputing လုပ်ရန်လိုအပ်သည်။

နမူနာကုဒ်:

 
<?php
$input = filter_input(INPUT_GET, 'param', FILTER_SANITIZE_STRING);
$output = htmlspecialchars($input);
echo "filtered နှင့် encoded output ကို:" . $output;
?>

htmlspecialchars function မှတစ်ဆင့် input ရှိအထူးအက္ခရာများကို HTML အဖွဲ့အစည်းများသို့ပြောင်းလဲခြင်း, ထို့ကြောင့်သူတို့ကို browser မှအန္တရာယ်ရှိသော scripts သို့ခွဲခြားခြင်းမှတားဆီးသည်။

ပြည့်စုံသောလျှောက်လွှာ

အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကျွန်ုပ်တို့သည်အချက်အလက်များလုံခြုံမှုကိုကွဲပြားခြားနားသော input အမျိုးအစားများအရဒေတာလုံခြုံမှုကိုသေချာစေရန်အတွက်အချို့သော filters အမျိုးမျိုးကိုကျိုးကြောင်းဆီလျော်စွာအသုံးချသင့်သည်။

နမူနာကုဒ်:

 
<?php
$input1 = filter_input(INPUT_GET, 'param1', FILTER_SANITIZE_STRING);
$input2 = filter_input(INPUT_POST, 'param2', FILTER_SANITIZE_EMAIL);
// ကိုင်တွယ်ဖြေရှင်းသည်$input1 နှင့် $input2
echo "ကိုင်တွယ်ဖြေရှင်းသည်结果";
?>

ဤဥပမာတွင် input အချက်အလက်အမျိုးအစားအမျိုးမျိုးကို filter_sanitize_string and filter_sanitize_email filters များကို အသုံးပြု. ပြုလုပ်သည်။ မတူညီသောစစ်ထုတ်ကိရိယာများအသုံးပြုခြင်းနှင့်ပေါင်းစပ်ပြီး၎င်းသည်စနစ်၏လုံခြုံရေးကိုမြှင့်တင်ပေးရန်နှင့် XSS တိုက်ခိုက်မှုများမှခြိမ်းခြောက်မှုများကိုကာကွယ်ရန်ကူညီသည်။

အကျဉ်းချုပ်

XSS တိုက်ခိုက်မှုများကိုကာကွယ်ရန် PHP ၏ filter_input function ကိုမည်သို့အသုံးပြုရမည်ကိုဤဆောင်းပါးကဖော်ပြသည်။ အသုံးပြုသူထည့်သွင်းအချက်အလက်များကိုကျိုးကြောင်းဆီလျော်သောစစ်ထုတ်ခြင်းနှင့် encoding လုပ်ခြင်းဖြင့် XSS တိုက်ခိုက်မှုများ၏အန္တရာယ်ကိုထိရောက်စွာလျှော့ချနိုင်သည်။ သို့သော်စစ်ထုတ်ခြင်းနှင့် coding သည်အကာအကွယ်ပေးရေးအစီအမံများထဲမှသာဖြစ်သည်။ Developer များသည် SQL Injection ကိုကာကွယ်ရန်တားဆီးထားသောအခြားလုံခြုံသောပရိုဂရမ်သတ်မှတ်ချက်များကိုလိုက်နာသင့်သည်။ လုံခြုံရေးနည်းပညာများစွာကိုပေါင်းစပ်ခြင်းဖြင့်တည်းဖြတ်ခြင်းနှင့်အသုံးပြုသူများ၏ဒေတာလုံခြုံမှုကိုအကြီးမြတ်ဆုံးအထိအာမခံထားနိုင်ပါသလား။