0 က်ဘ်ဆိုက်များသို့မဟုတ်အသုံးချပရိုဂရမ်များကိုတီထွင်သောအခါသုံးစွဲသူများမှထည့်သွင်းထားသောအချက်အလက်များသည်မလွှဲမရှောင်သာဖြစ်သည်။ သို့သော်မရှိသေးသော input တွင်အန္တရာယ်ရှိသော script များသို့မဟုတ်အထူးအက္ခရာများပါ 0 င်နိုင်သည်။ ဝက်ဘ်ဆိုက်လုံခြုံရေးကိုခြိမ်းခြောက်မှုဖြစ်စေနိုင်သည်။ ဒေတာလုံခြုံရေးကိုသေချာစေရန်သင့်တော်သော PHP လုပ်ဆောင်ချက်များကိုအသုံးပြုသူထည့်သွင်းမှုများကိုစစ်ဆေးရန်နှင့် filter လုပ်ရန်အသုံးပြုရမည်။
အသုံးပြုသူအချက်အလက်များကိုမလုပ်ဆောင်မီ, inputs inputs တည်ရှိပြီးမျှော်လင့်ထားသည့်ပုံစံနှင့်ကိုက်ညီမှုရှိမရှိဆုံးဖြတ်ပါ။ များသောအားဖြင့်အသုံးပြုသောထောက်လှမ်းရေးလုပ်ငန်းများပါဝင်သည်:
နမူနာကုဒ်:
if (isset($_POST['username']) && !empty(trim($_POST['username']))) {
$username = $_POST['username'];
// အသုံးပြုသူအမည်တည်ရှိပြီးဗလာမဟုတ်ပါ,ဆက်လက်လုပ်ဆောင်ရန်ဆက်လက်
} else {
// အသုံးပြုသူအမည်သည်ဗလာဖြစ်သည်,ချက်ချင်းအမှား
}
<p>if (isset($_POST['age']) && is_numeric($_POST['age'])) {<br>
$age = $_POST['age'];<br>
// အသက်ကနံပါတ်ဖြစ်ပါတယ်,ဆက်လက်လုပ်ဆောင်ရန်ဆက်လက်<br>
} else {<br>
// အသက်သည်ဗလာသို့မဟုတ် format ချသည်,ချက်ချင်းအမှား<br>
}
ရှာဖွေတွေ့ရှိမှုသည်မလုံလောက်ပါ။ သုံးစွဲသူထည့်သွင်းမှုသည် Cross-site scripting (XSS) နှင့်အခြားတိုက်ခိုက်မှုများကိုကာကွယ်ရန်စစ်ထုတ်ရန်လိုအပ်သည်။ များသောအားဖြင့်အသုံးပြုသော filtering လုပ်ဆောင်ချက်များကို:
နမူနာကုဒ်:
$username = htmlspecialchars($_POST['username']); // အထူးအက္ခရာများမှလွတ်မြောက်ရန်
$bio = strip_tags($_POST['bio']); // ရေွှ့HTMLနှင့်PHPကပ်တံဆိပ်
$email = $_POST['email'];
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
// မှန်ကန်သောအီးမေးလ်ပုံစံ,ဆက်လက်လုပ်ဆောင်ရန်ဆက်လက်
} else {
// အီးမေးလ်ပုံစံမမှန်ကန်ပါ,ချက်ချင်းအမှား
}
ဒေတာဘေ့စ်စုံစမ်းမှုအတွက်အသုံးပြုသူထည့်သွင်းမှုအချက်အလက်များပြုလုပ်ပါက SQL ဆေးထိုးတိုက်ခိုက်မှုများကိုကာကွယ်ရမည်။ ကြိုတင်သတ်မှတ်ထားသောထုတ်ပြန်ချက်များနှင့် binding parameters များကိုအသုံးပြုရန်အကြံပြုသည်။
// ဒေတာဘေ့စ်ချိတ်ဆက်ကြောင်းယူဆ
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = ?");
$stmt->bindParam(1, $username, PDO::PARAM_STR);
$stmt->execute();
Preprocessing ထုတ်ပြန်ချက်များအားဖြင့်အသုံးပြုသူထည့်သွင်းမှုသည် SQL ထုတ်ပြန်ချက်များကိုတိုက်ရိုက်ထည့်သွင်းခြင်းမပြုပါ။
အသုံးပြုသူထည့်သောထည့်သွင်းမှုကိုအပြည့်အ 0 ယုံကြည်. မရပါ။ PHP မှပေးသောလုပ်ငန်းများကိုရှာဖွေခြင်းနှင့်စစ်ထုတ်ခြင်းလုပ်ဆောင်ချက်များသည်အချက်အလက်လုံခြုံရေးကိုသေချာစေရန်အတွက်တီထွင်ခြင်းနှင့်စစ်ထုတ်ခြင်းများကိုအသုံးပြုရမည်။ input endity ကိုကျိုးကြောင်းဆီလျော်သောရှာဖွေတွေ့ရှိခြင်း, အန္တရာယ်ရှိသောဇာတ်ကောင်များကိုစစ်ထုတ်ခြင်းနှင့်လုံခြုံသောဒေတာဘေ့စ်လုပ်ငန်းများကိုပေါင်းစပ်ခြင်းနှင့်လုံခြုံသောဒေတာဘေ့စ်စစ်ဆင်ရေးနည်းလမ်းများပေါင်းစပ်ခြင်းနှင့်အသုံးပြုသူသီးသန့်တည်ရှိမှုနှင့်ဒေတာလုံခြုံရေးကိုကာကွယ်နိုင်သည်။