ယနေ့ဒီဂျစ်တယ်ခေတ်တွင်ဒေတာလုံခြုံမှုသည်ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းစဉ်တွင်ဒေတာလုံခြုံရေးသည် ဦး စားပေးဖြစ်လာသည်။ အထူးသဖြင့် PHP 0 က်ဘ်ဆိုက်ဖွံ့ဖြိုးတိုးတက်မှုအတွက် PHP ကိုအသုံးပြုသောအခါဒေတာစီစစ်ခြင်းနှင့်စိစစ်ခြင်းသည်စနစ်တစ်ခုလုံး၏လုံခြုံရေးနှင့်တည်ငြိမ်မှုနှင့်သက်ဆိုင်သည်။ ဤဆောင်းပါးသည်သတင်းအချက်အလက်ယိုစိမ့်မှုကိုဖြည့်စွက်ခြင်း, output filtering နှင့် database-level data protection မှတဆင့်မည်သို့ထိရောက်စွာကာကွယ်နိုင်သည်ကိုစနစ်တကျမိတ်ဆက်ပေးလိမ့်မည်။
အသုံးပြုသူအားစုများ၌အန္တရာယ်ရှိသောကုဒ်များသို့မဟုတ်ပုံစံချခြင်းအမှားများပါ 0 င်နိုင်ပြီးပျောက်ကွယ်သွားမည်ဆိုလျှင်ဖြတ်သွားပါက၎င်းတို့သည် Cross-site scripting (XSS) သို့မဟုတ် SQL ဆေးထိုးခြင်းကဲ့သို့သောတိုက်ခိုက်မှုများကိုအလွယ်တကူအသုံးချနိုင်သည်။
သာမန် input filtering နည်းလမ်းများမှာအောက်ပါအတိုင်းဖြစ်သည် -
PHP သည် filter_var ကဲ့သို့သော built-in function များကိုစီးရီးများပေးသည်။
ပုံမှန်အသုံးအနှုန်းများသည်မိုဘိုင်းလ်ဖုန်းနံပါတ်များကဲ့သို့သောတိကျသောပုံစံများဖြင့်ထည့်သွင်းမှုများနှင့်ကိုက်ညီရန်ပိုမိုပြောင်းလွယ်ပြင်လွယ်နိုင်သည်။
$phone = $_POST['phone'];
if (preg_match('/^1[3456789]\d{9}$/', $phone)) {
// မိုဘိုင်းဖုန်းနံပါတ်သည်မှန်ကန်သည်
} else {
// မမှန်ကန်သောမိုဘိုင်းဖုန်းဖုန်းနံပါတ်ပုံစံ
}
input အချက်အလက်များကိုလုပ်ငန်းများ၌သာမကဒေတာဘေ့စ်သို့မဟုတ်အခြားရင်းမြစ်များမှအချက်အလက်များကိုရှေ့တန်းတိုက်ခိုက်မှုများကိုရှောင်ရှားရန်မပြခင်ဒေတာများကိုလည်းစစ်ဆေးသင့်သည်။
output မှ HTML tags များကိုဖယ်ရှားရန် strip_tags () function ကိုသုံးပါ။
$html = "<b>ဒါ<strong>ရဲရင့်သော</strong></b>ဖတ်စာ";
echo strip_tags($html);
// ထုတ်လုပ်ခြင်း:ဒါရဲရင့်သောဖတ်စာ
အထူးအက္ခရာများကို HTML အဖွဲ့အစည်းများသို့ပြောင်းပါ။ ဘုံ function သည် htmlspecialchars () :
$text = "<script>alert('Hello');</script>";
echo htmlspecialchars($text, ENT_QUOTES, 'UTF-8');
// ထုတ်လုပ်ခြင်း:<script>alert('Hello');</script>
Data သည်ရှေ့တန်းစစ်ဆေးခြင်းကိုအတည်ပြုပြီးရင်တောင်အသုံးပြုသူထည့်သွင်းမှုသည်အပြည့်အ 0 ယုံကြည်မှုမရနိုင်ပါ။ ဒေတာဘေ့စ်လုပ်ငန်းများကို SQL Injection ကဲ့သို့သောတိုက်ခိုက်မှုများကိုကာကွယ်ရန်လုံခြုံစွာလုပ်ဆောင်ရမည်ဖြစ်သည်။
Proprocessing ထုတ်ပြန်ချက်များသည်မပျက်စီးသောဆေးကိုကာကွယ်ရန် SQL ထုတ်ပြန်ချက်များမှသတ်မှတ်ချက်များကိုသီးခြားစီခွဲထုတ်ရန်ထိရောက်သောနည်းလမ်းဖြစ်သည်။
$name = $_POST['name'];
$age = $_POST['age'];
$stmt = $pdo->prepare("INSERT INTO users (name, age) VALUES (?, ?)");
$stmt->execute([$name, $age]);
အကာအကွယ်ပေးရန်အခြားနည်းလမ်းမှာသတ်မှတ်ထားသည့်သတ်မှတ်ချက်များကိုခမပြုရန်ဖြစ်သည်။
$name = $_POST['name'];
$stmt = $pdo->prepare("SELECT * FROM users WHERE name = :name");
$stmt->bindParam(':name', $name);
$stmt->execute();
$result = $stmt->fetch();
PHP ဒေတာစီစစ်ခြင်းသည် 0 က်ဘ်အပလီကေးရှင်းများ၏လုံခြုံရေးကိုသေချာစေရန်သော့ချက်သော့ချက်ဖြစ်သည်။ ဆင်ခြင်တုံတရားဆိုင်ရာစစ်ဆေးခြင်း, output force ခြင်းနှင့်ဒေတာဘေ့စ်စစ်ခြင်းစသည့်နည်းပညာဆိုင်ရာနည်းလမ်းများသည်ကျိုးကြောင်းဆီလျော်စွာကျင့်သုံးခြင်းအားဖြင့်သတင်းအချက်အလက်ယိုစိမ့်မှု၏အန္တရာယ်ကိုအလွန်လျှော့ချနိုင်သည်။ Developer များကနေ့စဉ်ဖွံ့ဖြိုးတိုးတက်မှုအလားအလာရှိသောလုံခြုံရေးအားနည်းချက်များကိုကာကွယ်ရန်နေ့စဉ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကောင်းမွန်သောလုံခြုံရေးသင်္ကေတများများကိုတီထွင်သင့်သည်။