လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> အသုံးပြုသူထည့်သွင်းမှုကိုစစ်ထုတ်ရာတွင် array_diff_ey () function ကိုမည်သို့အသုံးပြုရမည်နည်း။

အသုံးပြုသူထည့်သွင်းမှုကိုစစ်ထုတ်ရာတွင် array_diff_ey () function ကိုမည်သို့အသုံးပြုရမည်နည်း။

M66 2025-06-06

PHP ပရိုဂရမ်တွင်အသုံးပြုသူ input ကိုပြုပြင်သည့်အခါလုံခြုံရေးသည်အထူးသဖြင့်အန္တရာယ်ရှိသောကုဒ်ဆေးထိုးခြင်းကိုတားဆီးရန်အလွန်အရေးကြီးသည်။ array_diff_key () သည်အလွန်အသုံးဝင်သော PHP function ကိုအထောက်အကူပြုသောသော့နှင့်အချက်အလက်များကိုသာစစ်ထုတ်နိုင်သည်။ သင်၏ကုဒ်၏လုံခြုံရေးကိုမြှင့်တင်ရန်အသုံးပြုသူထည့်သွင်းမှုကို filter လုပ်ရန် array_diff_ey () ကို မည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြပါလိမ့်မည်။

1 ။ array_diff_ey () function ကိုခြုံငုံသုံးသပ်ချက်

Array_Diff_Key () function ကို array နှစ်ခု၏အဓိကအမည်များကိုနှိုင်းယှဉ်ရန်နှင့်ပထမဆုံးခင်းကျင်းမှုတွင်ပါရှိသောသော့ချက်တန်ဖိုးအတွဲအသစ်များကိုပြန်လည်ထည့်သွင်းရန်အသုံးပြုသည်။ ရိုးရိုးလေးပြောရလျှင်၎င်းသည်မလိုချင်သောအဓိကတန်ဖိုးများကိုခင်းကျင်းရန်အသုံးပြုသည်။

function syntax အောက်ပါအတိုင်းဖြစ်သည် -

 array_diff_key(array $array1, array $array2): array
  • $ array1 : ပထမ ဦး ဆုံးခင်းကျင်း။

  • $ array2 : ဒုတိယခင်းကျင်း, နှိုင်းယှဉ်အတွက်အသုံးပြုခဲ့တဲ့ array ။ ၎င်းသည်များသောအားဖြင့်ခွင့်ပြုထားသောသော့များကိုကြိုတင်သတ်မှတ်ထားသောသော့ချက်များဖြစ်သည်။ ဆိုလိုသည်မှာသင်သည်ထိုသော့များကို ဒေါ်လာ array1 ဖြင့်သိမ်းထားလိုသည်။

Return Value သည် ဒေါ်လာ array 1 တွင်တည်ရှိနေသောသော့ချက်အားလုံးပါ 0 င်သည့်ခင်းကျင်းမှုအသစ်တစ်ခုဖြစ်သည်။

2 ။ array_diff_key () ကိုအသုံးပြုသူ၏ input ကို filter လုပ်ရန်

ကျွန်ုပ်တို့သည်အသုံးပြုသူမှတင်ပြသောပုံစံဒေတာကိုလက်ခံရရှိပြီးလုံခြုံစွာစစ်ထုတ်လိုသည်ဆိုပါစို့။ ကျွန်ုပ်တို့သည်အသုံးပြုသူထည့်သွင်းမှုမှတိကျသောနယ်ပယ်များကိုသာသိမ်းထားလိုပြီးအခြားမလိုအပ်သောသို့မဟုတ်အန္တရာယ်ရှိသောဒေတာများကိုလျစ်လျူရှုလိုပါသည်။

ဥပမာ - သုံးစွဲသူထည့်သွင်းမှု

အသုံးပြုသူ input ကိုအောက်ပါအတိုင်းဖြစ်သည်ဆိုပါစို့။

 $_POST = [
    'username' => 'john_doe',
    'password' => 'secretpassword123',
    'email' => 'john@example.com',
    'admin' => '1' // ဤသည်ကျွန်ုပ်တို့ခွင့်မပြုသည့်လယ်ကွင်းဖြစ်သည်
];

ကျွန်ုပ်တို့သည် အသုံးပြုသူအမည် , လျှို့ဝှက်နံပါတ် နှင့် အီးမေးလ်များ ကိုသာသိမ်းထားလိုသည် ကျနော်တို့ array_diff_key () နှင့်အတူဤလုပ်နိုင်ပါတယ်။

 // ခွင့်ပြုထားသောလယ်ကွက်များ
$allowed_keys = ['username' => true, 'password' => true, 'email' => true];

// Input အချက်အလက်များကို filter လုပ်ပါ
$filtered_input = array_diff_key($_POST, $allowed_keys);

// ရလဒ်ရလဒ်
print_r($filtered_input);

ထုတ်လုပ်မှု -

 Array
(
    [admin] => 1
)

ဤဥပမာတွင် array_diff_ey () သည် admin field ကိုဖျက်ပစ်သည်

3 ။ လက်တွေ့ကျသော application အခြေအနေများ

3.1 အန္တရာယ်ရှိတဲ့လယ်ကွင်းတွေကိုကာကွယ်ပါ

အကယ်. အသုံးပြုသူများသည်ဖိုင်များသို့မဟုတ်အချက်အလက်များကိုပုံစံများမှတစ်ဆင့်တင်နိုင်သည်ဆိုလျှင်၎င်းတို့ကိုမလိုအပ်သောသို့မဟုတ်အန္တရာယ်ရှိသောလယ်ကွင်းများကိုမအောင်မြင်နိုင်ကြောင်းသေချာစေရန်လိုအပ်သည်။ မမျှော်လင့်သောလယ်ကွင်းများကိုထိရောက်စွာရှောင်ရှားရန် array_diff_ey () ကိုသုံးပါ။ array_diff_key () မှ input ကိုသာခွင့်ပြုသည့်ကွက်လပ်များကိုသာသတ်မှတ်နိုင်သည်။

3.2 အခြား filtering functions များနှင့်အသုံးပြုပါ

array_diff_ey () ကို filter_var () သို့မဟုတ် htmlspecialchars ကဲ့သို့သောအခြား PHP အချက်အလက်အတည်ပြုခြင်းနှင့်သန့်ရှင်းရေးလုပ်ဆောင်ချက်များဖြင့်အသုံးပြုနိုင်သည်။ ဤအချက်သည်အချက်အလက်များကိုဒေတာဘေ့စ်တွင်သိမ်းဆည်းထားခြင်းသို့မဟုတ်စာမျက်နှာပေါ်တွင်ပြသခြင်းမပြုမီသန့်ရှင်း။ လုံခြုံသည်။

 // စိမ့်ထွက် email လယ်ကွင်း
$_POST['email'] = filter_var($_POST['email'], FILTER_VALIDATE_EMAIL);

4 ။ URL အစားထိုး

အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် URL ပြုပြင်ခြင်းတွင်ပါ 0 င်နိုင်သည်။ သုံးစွဲသူထည့်သွင်းမှုကိုပြုပြင်သောအခါ URL ချိတ်ဆက်မှုတစ်ခုရှိသည်ဟုယူဆလျှင် M66.net တွင် Domain Name ကိုအစားထိုးရန်လိုအပ်သည်။ သင်ကအကောင်အထည်ဖော်ရန် strip_replace () function ကိုသုံးနိုင်သည်။

 // အသုံးပြုသူသွင်းအားစုဟုယူဆ URL
$user_input_url = 'https://example.com/path/to/resource';

// ဒိုမိန်းအမည်ကိုအစားထိုးပါ
$replaced_url = str_replace('example.com', 'm66.net', $user_input_url);

echo $replaced_url; // ထုတ်လုပ်ခြင်း:https://m66.net/path/to/resource

ဤအလေ့အကျင့်သည်အသုံးပြုသူများမှတင်သွင်းသော URL ကိုမလုံခြုံသောသို့မဟုတ်မသက်ဆိုင်သောပြင်ပဝက်ဘ်ဆိုက်ကိုညွှန်ပြခြင်းမှတင်ပြသော URL ကိုတားဆီးနိုင်သည်။

5 ။ အကျဉ်းချုပ်

အသုံးပြုသူ input ကိုပြုပြင်သည့်အခါ array_diff_ey () သည်အလွန်ထိရောက်သောကိရိယာတစ်ခုဖြစ်ပြီးကျွန်ုပ်တို့လိုအပ်သောအစိတ်အပိုင်းများကိုသာစစ်ဆေးရန်နှင့်ကျွန်ုပ်တို့လိုအပ်သောအစိတ်အပိုင်းများကိုသာစစ်ဆေးရန်အလွန်ထိရောက်သောကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းသည်ကုဒ်၏လုံခြုံရေးကိုတိုးတက်စေသည်သာမကမျှော်လင့်ချက်များနှင့်ကိုက်ညီသောအချက်အလက်များကိုသာဆောင်ရွက်ရန်လည်းသေချာစေသည်။ အခြား filtering နည်းလမ်းများကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်လျှောက်လွှာများကိုအန္တရာယ်ရှိသောတိုက်ခိုက်မှုများမှပိုမိုကောင်းမွန်သောကာကွယ်နိုင်သည်။

အသုံးပြုသူ input ကို filter လုပ်ရန် array_diff_ey () ကိုမည်သို့အသုံးပြုရမည်ကိုပိုမိုနားလည်ရန်ဤဆောင်းပါးသည်သင့်အားပိုမိုကောင်းမွန်သောနားလည်မှုကိုပိုမိုနားလည်ရန်မျှော်လင့်ပါသည်။