လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ငြိမ်ဝပ်စွာနေတဲ့ interface parameters တွေကိုစစ်ထုတ်ဝြေခင်းတွေအတွက်လက်တွေ့ကျအကြံပြုချက်များ

ငြိမ်ဝပ်စွာနေတဲ့ interface parameters တွေကိုစစ်ထုတ်ဝြေခင်းတွေအတွက်လက်တွေ့ကျအကြံပြုချက်များ

M66 2025-06-06

အထူးသဖြင့်ပြင်ပတောင်းဆိုမှုများကို parameters များကိုကိုင်တွယ်သည့်အခါလုံခြုံစိတ်ချထားသည့် interfaces များဖွံ့ဖြိုးသည့်အခါလုံခြုံရေးသည်အရေးကြီးသောထည့်သွင်းစဉ်းစားခြင်းဖြစ်သည်။ parameter whitelistist filtering သည်တောင်းဆိုထားသော parameters များကိုတရားဝင်ဖြစ်စေရန်နှင့်စနစ်ကိုအကျိုးသက်ရောက်စေသောမမှန်ကန်သောသို့မဟုတ်အန္တရာယ်ရှိသော parameters တွေကိုရှောင်ရှားရန်ဘုံနည်းလမ်းဖြစ်သည်။ Php ပ်တပြင် interface ကို ဖြတ်. parraiff_ukey ၏လက်တွေ့ကျွမ်းကျင်မှုများကိုမည်သို့အကောင်အထည်ဖော်နိုင်ကြောင်းဤဆောင်းပါးသည်ဤဆောင်းပါးသည် PHP တွင်လက်တွေ့ကျသောကျွမ်းကျင်မှုများကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုမိတ်ဆက်ပေးမည်ဖြစ်သည်။

1 ။ parameter သည် whitelist filtering အတွက်အခြေခံအတွေးအခေါ်များ

Restable Api Design တွင် 0 န်ဆောင်မှုခံယူသူမှဖြတ်သန်းသွားသော parameters များကိုပြုပြင်ခြင်းပြုလုပ်သောအခါ Whitelist filtering ကို 0 င်ရောက်နိုင်ရန်အတွက်ဒုတိယအကြိမ်နောက်ခံအပြောင်းအလဲကိုသာခွင့်ပြုရန်သေချာစေရန် Whitelist filtering ကိုသုံးနိုင်သည်။ whitelist filtering ၏အခြေခံအယူအဆသည်ခွင့်ပြုထားသော parameter fields များကိုကြိုတင်သတ်မှတ်ထားသည့်အစုအဝေးများကိုကြိုတင်သတ်မှတ်ထားသည့်အဝင်တောင်းဆိုချက် parameters များကိုဤ whitelist နှင့်နှိုင်းယှဉ်ခြင်းနှင့်အဖြူရောင်ဖြူသူမဟုတ်သော parameters တွေကိုနှိုင်းယှဉ်ကြည့်ပါ။

2 ။ Parameter whitelist filtering အတွက် PHP ကိုသုံးပါ

PHP သည်ဤ filtering ကိုအကောင်အထည်ဖော်ရန်နည်းလမ်းများစွာကိုထောက်ပံ့ပေးသည်။ တောင်းဆိုမှု parameters များနှင့် whitelists အကြားကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်ရန် Array_diff_ukey function ကိုပေါင်းစပ်နိုင်သည်။ Array_diff_ukey function ကိုနှစ်ခု arrays နှစ်ခု၏သော့များကိုနှိုင်းယှဉ်ရန်နှင့်ပထမခင်းကျင်းမှုတွင်တည်ရှိနေသူများကိုပြန်ပို့ရန်အသုံးပြုနိုင်သည်။

Code Page

အောက်ပါသတ်မှတ်ချက်များကိုလက်ခံသောကျွင်းနေသော interface ရှိနေသည်ဆိုပါစို့။

  • အမည် : အသုံးပြုသူအမည်

  • အီးမေးလ် : အသုံးပြုသူအီးမေးလ်

  • အသက် : အသုံးပြုသူအသက်အရွယ်

နောက်ခံရှိတောင်းဆိုချက်ကိုမလုပ်ဆောင်မီ အမည် နှင့် အီးမေးလ် သတ်မှတ်ချက်များကိုသာခွင့်ပြုလိုသည်။ အသက်အရွယ် parameter သည်တရားမဝင်ပါ။ ၎င်းကိုကျွန်ုပ်တို့ထုတ်ယူလိုသည်။ ဒီ function ကိုအကောင်အထည်ဖော်တဲ့ PHP ကုဒ်ဥပမာတစ်ခုပါ။

 <?php
// ခွင့်ပြုထားသော parameters တွေကိုတစ် ဦး whitelist ကိုသတ်မှတ်ပါ
$whitelist = ['name', 'email'];

// Simulate တောင်းဆိုမှု parameters တွေကိုရရှိခဲ့သည်
$requestParams = [
    'name' => 'John Doe',
    'email' => 'john.doe@m66.net',
    'age' => 30,
    'gender' => 'male'
];

// အသုံးပြုarray_diff_ukeyWhitelist တွင်မပါ 0 င်သော parameters တွေကိုစစ်ထုတ်ပါ
$filteredParams = array_diff_ukey($requestParams, $whitelist, function($key1, $key2) {
    return $key1 === $key2 ? 0 : 1;
});

// filtered parameters တွေကိုပုံနှိပ်ပါ
print_r($filteredParams);
?>

ကုဒ်ရှင်းပြချက်

  1. $ whitelist : ဒါကခွင့်ပြုထားသော parameter ၏အဓိကအမည်များပါ 0 င်သည့် array တစ်ခုဖြစ်သည်။ လက်တွေ့ကျသောအပလီကေးရှင်းများတွင်ဤတန်ဖိုးများကို configuration files များမှဖတ်ရှုနိုင်သည်သို့မဟုတ်ဒေတာဘေ့စ်တွင်စီမံနိုင်သည်။

  2. $ Takerams : ၎င်းသည် 0 န်ဆောင်မှုခံယူသူမှတင်ပြသောတောင်းဆိုမှုမှရရှိသည်ဟုယူဆသောတောင်းဆိုချက် parameters များကလှောင်ပြောင်သောတောင်းဆိုချက်တစ်ခုဖြစ်သည်။

  3. array_diff_ukey - ဒီ function ရဲ့ function က $ toyparams နှင့် $ whitelist arrays သော့များကိုနှိုင်းယှဉ်ရန်, နှိုင်းယှဉ်မှု function ကိုစိတ်ကြိုက်ပြုပြင်ခြင်းအားဖြင့် Whitelist ရှိ parameters များကိုသာထိန်းသိမ်းထားနိုင်ကြောင်းသေချာစေနိုင်သည်။

output ကိုဖြစ်လိမ့်မည်:

 Array
(
    [name] => John Doe
    [email] => john.doe@m66.net
)

အထက်တွင်ဖော်ပြထားသည့်အတိုင်းတရားမဝင် parameterscers, အသက် နှင့် ကျား, မကျင့်သုံးသည့်အတိုင်းတရားမ 0 င် parameters များနှင့်ကျား,

3 ။ array_diff_ukey ကို ဘာလို့သုံးတာလဲ။

Array_diff_ukey function သည် PHP Array လုပ်ဆောင်ချက်များတွင်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းသည်ခင်းကျင်းမှု၏သော့များကိုနှိုင်းယှဉ်ရုံသာမကနှိုင်းယှဉ်စည်းမျဉ်းများကိုလည်းစိတ် 0 င်စားသည်။ parameter whitelistist filtering အတွက် array_diff_ukey သည် code ကိုပိုမိုအကောက်အိပ်စေပြီးပိုမိုထိရောက်စေသည်။

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

PHP တွင် array_diff_ukey function ကိုမှတစ်ဆင့်ကျွန်ုပ်တို့သည် parameter whitelist filtering ကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်။ ဤနည်းလမ်းသည် API ၏လုံခြုံရေးကိုထိထိရောက်ရောက်တိုးတက်စေရန်သာမက Code ကိုရှင်းလင်းရန်ပိုမိုလွယ်ကူစေသည်။ Whitelist filtering ကိုအသုံးပြုခြင်းသည်စနစ်သို့ 0 င်ရောက်ခြင်းကိုတရားမ 0 င်သို့မဟုတ်အန္တရာယ်ရှိသော parameters များကိုကာကွယ်ခြင်း,

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