0 က်ဘ်ဆိုက်ဖွံ့ဖြိုးတိုးတက်မှုတွင်သုံးစွဲသူ input ကိုကိုင်တွယ်ခြင်းသည်လျှောက်လွှာလုံခြုံရေးနှင့်အချက်အလက်တိကျမှန်ကန်မှုကိုသေချာစေရန်အရေးပါသောခြေလှမ်းတစ်ခုဖြစ်သည်။ unprocessed inputs input ကို Cross-site scripting တိုက်ခိုက်မှုများ (XSS), SQL Injection နှင့်အခြားလုံခြုံရေးပြ issues နာများသို့ ဦး တည်သွားစေနိုင်သည်။ PHP8 သည် developer များကို filter များတပ်ဆင်ထားသည့်ယန္တရားကိုအဆင်ပြေစွာ filter filter filter filter filter filter လုပ်ပြီးသန့်ရှင်းရေးလုပ်ပိုင်ခွင့်တပ်ဆင်ထားသည်။
Sanitize filter များသည် PHP ၏ built-in filtering ယန္တရားများဖြစ်သည်။ ကွဲပြားခြားနားသော filter အမျိုးအစားများမှတဆင့် developer များက HTML tags များ, အထူးဇာတ်ကောင်များ, မှန်ကန်သောပုံစံများကိုဖယ်ရှားရန်, အထူးအက္ခရာများ, မှန်ကန်သောပုံစံများစသည်တို့ကိုဖယ်ရှားနိုင်သည်။
ဘုံ filtering အမျိုးအစားများပါဝင်သည်:
Filter_VAR () သည်အသုံးအများဆုံး filter functions များထဲမှတစ်ခုဖြစ်သည်။
$input = $_POST['username'];
$sanitized_input = filter_var($input, FILTER_SANITIZE_STRING);
ဤဥပမာသည် Espost ကို $ _post ဟုခေါ်သော input value ကိုယူပြီး LOFFLAT HTML tags များနှင့်အထူးအက္ခရာများကိုဖယ်ရှားရန် filter_sanitize_string filter ကိုအသုံးပြုသည်။
Get , Post သို့မဟုတ် Cookie ကဲ့သို့သောကမ္ဘာလုံးဆိုင်ရာ variable များကိုတိုက်ရိုက်စစ်ထုတ်လိုပါက filter_input () function ကိုသုံးနိုင်သည်။
$sanitized_input = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING);
ဤနည်းလမ်းသည်ပိုမိုကောင်းမွန်သောအရာနှင့်လုံခြုံပြီးလုံခြုံစိတ်ချရသောကြောင့်ကမ္ဘာလုံးဆိုင်ရာခင်းကျင်းမှုကိုတိုက်ရိုက်လက်လှမ်းမီမှုများကိုရှောင်ရှားနိုင်ပြီးအချက်အလက်ညစ်ညမ်းမှုအန္တရာယ်ကိုလျှော့ချရန်ကူညီသည်။
ထည့်သွင်းမှုအမျိုးမျိုးကိုတစ်ပြိုင်တည်းလုပ်ဆောင်ရန်လိုအပ်သည့်အခါ filter_var_array () function ကိုသုံးနိုင်သည်။
$input = array(
'username' => $_POST['username'],
'password' => $_POST['password']
);
$filters = array(
'username' => FILTER_SANITIZE_STRING,
'password' => FILTER_SANITIZE_STRING
);
$sanitized_input = filter_var_array($input, $filters);
ဤနည်းလမ်းသည် filtering စည်းမျဉ်းစည်းကမ်းများကိုသတ်မှတ်ရန်, variable များအပေါ်သုတ်ခြင်းနှင့်အသုတ်အပြောင်းအလဲကိုပြုလုပ်ရန်နှင့်နောက်ဆက်တွဲစိစစ်မှုနှင့်ယုတ္တိစိစစ်မှုကိုလွယ်ကူချောမွေ့စေရန်သန့်စင်ထားသောခင်းကျင်းမှုကိုပြုလုပ်ရန်ခွင့်ပြုသည်။
တင်သွင်းမှုပြီးနောက်အသုံးပြုသူအမည်နှင့်စကားဝှက်များကို filter လုပ်ရန် Sanitize filter များကိုအသုံးပြုသောရိုးရှင်းသောပုံစံကိုပြသသည်။
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$input = array(
'username' => $_POST['username'],
'password' => $_POST['password']
);
$filters = array(
'username' => FILTER_SANITIZE_STRING,
'password' => FILTER_SANITIZE_STRING
);
$sanitized_input = filter_var_array($input, $filters);
echo "အသုံးပြုသူ:" . $sanitized_input['username'] . "<br>";
echo "လှျို့ဝှက်စကား:" . $sanitized_input['password'] . "<br>";
}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<label>အသုံးပြုသူ:</label>
<input type="text" name="username"><br>
<label>လှျို့ဝှက်စကား:</label>
<input type="password" name="password"><br>
<input type="submit" value="နားထောင်">
</form>
ဤဥပမာတွင်ပုံစံကိုတင်သွင်းသည့်အခါ PHP script သည် filter_var_array () မှ input data ကိုသန့်ရှင်းစင်ကြယ်စေပြီး filtered ရလဒ်များကိုထုတ်ပေးသည်။
PHP8 တွင် Sanitize filter များကို sunitize filter များကိုအသုံးပြုခြင်းသည်လျှောက်လွှာလုံခြုံရေးနှင့်အချက်အလက်များယုံကြည်စိတ်ချရမှုကိုသိသိသာသာတိုးတက်စေနိုင်သည်။ စစ်ထုတ်ကိရိယာများကိုစနစ်တကျရွေးချယ်ခြင်းနှင့်၎င်းတို့အားစိစစ်ရေးယန္တရားများဖြင့်ပေါင်းစပ်ခြင်းအားဖြင့် developer များက XSS နှင့် SQL Injection ကဲ့သို့သောတူညီသောတိုက်ခိုက်မှုအန္တရာယ်များကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။ ဝဘ်ဆိုက်ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းစဉ်တွင်ပြင်ပသွင်းအားစုများအားလုံးကိုစစ်ထုတ်ခြင်းနှင့်အတည်ပြုခြင်းတို့သည်လုံခြုံစိတ်ချရသောစနစ်များတည်ဆောက်ရန်အခြေခံစည်းမျဉ်းများဖြစ်သည်။