နိဒါန်း
Web application development ္ဘဖြိးတိုးတက်မြအနေဖြင့်အချက်အလက်လုံခြုံရေးသည်အဓိကပြ issues နာများထဲမှတစ်ခုဖြစ်သည်။ လူကြိုက်များသော backend ဖွံ့ဖြိုးတိုးတက်မှုဆိုင်ရာဘာသာစကားဖြင့် PHP သည်အသုံးပြုသူထည့်သွင်းမှုများကိုထိထိရောက်ရောက်အတည်ပြုရန်နှင့်စစ်ထုတ်ရန်ယန္တရားအမျိုးမျိုးကိုထောက်ပံ့ပေးသည်။ ဤဆောင်းပါးသည်အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကျယ်ကျယ်ပြန့်ပြန့်ကျင့်သုံးသောလုံခြုံရေးအလေ့အကျင့်များစွာကိုသင့်အားယူပါလိမ့်မည်။
1 ။ ထည့်သွင်းထားသောအချက်အလက်များကိုလုပ်ဆောင်ရန် filter function များကိုအသုံးပြုပါ
PHP ၏ built-in filter formation သည် developer များကိုလျင်မြန်စွာအတည်ပြုရန်နှင့်သန့်စင်ရန်ကူညီနိုင်ပြီးပုံစံဒေတာများကိုလုပ်ဆောင်ရန်အတွက် ဦး စားပေးနည်းလမ်းဖြစ်သည်။ အောက်ပါဥပမာသည် `filter_input ()` `filter_var ()` filter_var) ကို အသုံးပြု. အီးမေးလ်ထည့်သောအီးမေးလ်ကိုမည်သို့လုပ်ဆောင်ရမည်ကိုပြသသည်။
$email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
// တရားဝင်အီးမေးလ်လိပ်စာ,ဆက်လက်လုပ်ဆောင်ရန်ဆက်လက်
} else {
// မမှန်ကန်သောအီးမေးလ်လိပ်စာ,အမှားမက်ဆေ့ခ်ျကိုပြပါ
}
ဤတွင် filter_input () filter_var () ကိုပထမ ဦး ဆုံးရှင်းလင်းခြင်း, filter_var () သည်၎င်း၏တရားဝင်မှုကိုထပ်မံစစ်ဆေးသည်။ ပေါင်းစပ်အသုံးပြုမှုသည်မမှန်ကန်သောသို့မဟုတ်အန္တရာယ်ရှိသောအချက်အလက်များကိုစီးပွားရေးဆိုင်ရာယုတ္တိဗေဒအလွှာသို့ 0 င်ရောက်ခြင်းမှထိရောက်စွာတားဆီးနိုင်သည်။
2 ။ format စစ်ဆေးခြင်းအတွက်ပုံမှန်အသုံးအနှုန်းများကိုသုံးပါ
ပိုမိုရှုပ်ထွေးသော input format ကိုစစ်ဆေးခြင်းအတွက်မိုဘိုင်းဖုန်းနံပါတ်, ID နံပါတ်စသည်ဖြင့်ပုံမှန်အသုံးအနှုန်းများသည်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ PHP ရှိ `preg_match ()` `function ကို` php function ကိုတိကျစွာကိုက်ညီရန်အသုံးပြုနိုင်သည်။
$phone = $_POST['phone'];
$pattern = "/^(\+?\d{1,3}-)?\d{10}$/";
if (preg_match($pattern, $phone)) {
// ဖုန်းနံပါတ်သည်မှန်ကန်သည်,ဆက်လက်လုပ်ဆောင်ရန်ဆက်လက်
} else {
// မမှန်ကန်သောဖုန်းနံပါတ်,အသုံးပြုသူကိုချက်ချင်းနှိပ်ပါ
}
ဤဥပမာတွင်အသုံးပြုသောပုံမှန်အသုံးအနှုန်းသည် optional area ရိယာ code prefixes များကိုထောက်ပံ့ပေးပြီးဖုန်းနံပါတ်ကိုဂဏန်း 10 လုံးအထိပေးရန်လိုအပ်သည်။
3 ။ ကွန်ဒို scripting တိုက်ခိုက်မှုများ (XSS) ကိုတားဆီးပါ။
XSS တိုက်ခိုက်မှုများသည်များသောအားဖြင့်အသုံးပြုသူ input ကိုမလုပ်ဆောင်ဘဲစာမျက်နှာသို့တိုက်ရိုက်ထုတ်လွှင့်သည်။ PHP မှပေးသော `htmlspecialchars ()` function သည်အန္တရာယ်ရှိသောဇာတ်ကောင်များကို encode လုပ်နိုင်သည်။
$comment = $_POST['comment'];
$encoded_comment = htmlspecialchars($comment);
// Entoded Comments များကိုဒေတာဘေ့စ်သို့သိမ်းဆည်းပါသို့မဟုတ်စာမျက်နှာပေါ်တွင်ပြပါ
Afrighter သည် script tags များကိုထိုးသွင်းနေ လျှင် ပင် browser မှခွဲထုတ်ခံရရင်တောင်,
4 ။ SQL ဆေးထိုးတိုက်ခိုက်မှုများကိုကာကွယ်ခြင်း
SQL Injection သည်လုံခြုံရေးဆိုင်ရာလုံခြုံရေးခြိမ်းခြောက်မှုတစ်ခုဖြစ်ပြီးတိုက်ခိုက်သူတစ် ဦး သည်အန္တရာယ်ရှိသောထုတ်ပြန်ချက်များကိုတည်ဆောက်ခြင်းဖြင့်ဒေတာဘေ့စ်စနစ်ကိုကျူးကျော်ဝင်ရောက်နိုင်သည်။ ကြိုတင်ပြင်ဆင်ထားသည့်ထုတ်ပြန်ချက်များသည်ထိုကဲ့သို့သောတိုက်ခိုက်မှုများကိုရှောင်ရှားရန်အကြံပြုသည်။ အောက်ဖော်ပြပါသည် PDO ကို အသုံးပြု. လုံခြုံသောရှာဖွေမှုနည်းလမ်းဖြစ်သည်။
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username");
$stmt->bindParam(":username", $username);
$username = $_POST['username'];
$stmt->execute();
ကြိုးကိုတိုက်ရိုက်စူးစိုက်ကြည့်မယ့်အစား parameters တွေကိုအစား input data တွေကိုအလိုအလျောက်ထွက်ပြေးတိမ်းရှောင်ပြီးထိထိရောက်ရောက်ကာကွယ်နိုင်မှာသေချာတယ်။
ကောက်ချက်
input scrification and filtering သည် encoding state တွင်အလုပ်များသာမက Web စနစ်လုံခြုံရေးမူဝါဒများ၏အုတ်မြစ်လည်းဖြစ်သည်။ SQUIT ပုံမှန်အသုံးအနှုန်းများမှအခြေခံ filter filter များ၏လုပ်ဆောင်ချက်များမှ XSS မှ SQL Injection သို့အဆင့်တိုင်းသည်အလွန်အရေးကြီးသည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဤအလေ့အကျင့်များကိုပုံမှန်ပုံမှန်ပြုလုပ်ရန်နှင့်လုံခြုံရေးလိုင်းတစ်ခုတည်ဆောက်ရန်အကြံပြုသည်။