အင်တာနက်အလျင်အမြန်ဖွံ့ဖြိုးတိုးတက်မှုဖြင့်ဝက်ဘ်ဆိုက်များသည် 0 ဘ်ဆိုဒ်များအတွက် 0 ဘ်ဆိုဒ်များအတွက်အရေးကြီးသောတံတားတစ်ခုဖြစ်လာသည်။ ပုံစံဒေတာ၏လုံခြုံရေးကိုသေချာစေရန် developer တိုင်းအာရုံစိုက်ရမည်ဟုလင့်ထားသည်။ ဤဆောင်းပါးသည် 0 က်ဘ်ဆိုက်၏လုံခြုံရေးအဆင့်ကိုတိုးတက်စေရန်အတွက် PHP Form Security ၏အဓိကအစီအမံများကိုအသေးစိတ်ဖော်ပြထားသည်။
အသုံးပြုသူ၏လက်အောက်ခံအချက်အလက်များကိုမလုပ်ဆောင်မီတင်းကျပ်သောအမျိုးအစားစစ်ဆေးခြင်းသည်အခြေခံနှင့်ထိရောက်သောကာကွယ်မှုနည်းလမ်းဖြစ်သည်။ PHP built-in functions များမှ filter_var () နှင့် intval () ကဲ့သို့သောလုပ်ငန်းဆောင်တာများမှတဆင့်အချက်အလက်များသည်မျှော်လင့်ထားသည့်အမျိုးအစားနှင့်ကိုက်ညီရန်သေချာစေနိုင်သည်။ ဥပမာများမှာအောက်ပါအတိုင်းဖြစ်သည် -
$age = $_POST['age'];
if (is_int($age)) {
// ဒေတာအမျိုးအစားမှန်ကန်သောဖြစ်ပါတယ်,ယုတ္တိဗေဒကိုဆက်လက်လုပ်ဆောင်ရန်ဆက်လက်
} else {
// ဒေတာအမျိုးအစားအမှား,အမှားကိုင်တွယ်လုပ်ဆောင်ခြင်း
}
Cross-site scripting တိုက်ခိုက်မှုများ (XSS) သည် 0 က်ဘ်အပလီကေးရှင်းများ၏ဘုံအန္တရာယ်များအနက်မှတစ်ခုဖြစ်သည်။ အသုံးပြုသူများမှတင်သွင်းသောအထူးအက္ခရာများမှလွတ်မြောက်ရန် htmlspecialchars () function ကိုအသုံးပြုခြင်းသည် XSS အားနည်းချက်များကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။ ဥပမာများမှာအောက်ပါအတိုင်းဖြစ်သည် -
$name = htmlspecialchars($_POST['name']);
နောက်ထပ်လေးနက်သောခြိမ်းခြောက်မှုသည် SQL Injection ဖြစ်သည်။ MySQLI_REAL_REAL_Sescape_Sescing_String () function ကိုသုံးပါ။ ဥပမာများမှာအောက်ပါအတိုင်းဖြစ်သည် -
$username = mysqli_real_escape_string($connection, $_POST['username']);
Input data များ၏ထိရောက်မှုကိုအတည်ပြုခြင်းသည်စနစ်တည်ငြိမ်မှုကိုသေချာစေရန်သော့ချက်ဖြစ်သည်။ ပုံမှန်အသုံးအနှုန်းများ (သို့) PHP ၏ built-in servification function ၏အကူအညီဖြင့်အချက်အလက်အမျိုးအစားသည်လိုက်နာမှုရှိမရှိတိကျစွာဆုံးဖြတ်နိုင်သည်။ အောက်ပါဥပမာသည်စာတိုက်ပုံးပုံစံကိုစစ်ဆေးအတည်ပြုသည်။
$email = $_POST['email'];
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
// အတည်ပြုအောင်မြင်သည်,ယုတ္တိဗေဒကိုဆက်လက်လုပ်ဆောင်ရန်ဆက်လက်
} else {
// အတည်ပြုပျက်ကွက်,အမှားကိုင်တွယ်လုပ်ဆောင်ခြင်း
}
အသုံးပြုသူများအားဖြင့်ပုံစံများကိုထပ်ခါတလဲလဲတင်သွင်းခြင်းသည်ဒေတာခြွင်းချက်များကိုဖြစ်ပေါ်စေနိုင်သည်။ ထိုကဲ့သို့သောပြ problems နာများကိုဤပြ problems နာများကို session တစ်ခုတွင်ထူးခြားသောတိုကင်များသိုလှောင်ခြင်းဖြင့်ထိရောက်စွာရှောင်ရှားနိုင်သည်။ ဥပမာများမှာအောက်ပါအတိုင်းဖြစ်သည် -
session_start();
// တိုကင် generate
$token = md5(uniqid());
// session ကိုအတွက်တိုကင်စတိုးဆိုင်များ
$_SESSION['token'] = $token;
// လျှို့ဝှက်နယ်ပယ်များအဖြစ်ပုံစံများကိုထည့်ရန်တိုကင်ထည့်ပါ
echo "<input type=\"hidden\" name=\"token\" value=\"$token\">";
// တင်သွင်းသည့်တိုကင်ကိုစစ်ဆေးပါ
if ($_POST['token'] === $_SESSION['token']) {
// အဆိုပါတိုကင်တရားဝင်ဖြစ်ပါတယ်,ယုတ္တိဗေဒကိုဆက်လက်လုပ်ဆောင်ရန်ဆက်လက်
} else {
// မမှန်ကန်သောတိုကင်,အမှားကိုင်တွယ်လုပ်ဆောင်ခြင်း
}
ဒေတာသိုလှောင်မှုလုပ်ငန်းစဉ်၏လုံခြုံရေးသည်အထူးအရေးကြီးသည်။ Preprocessing ထုတ်ပြန်ချက်များသို့မဟုတ် parameterized မေးမြန်းချက်များကိုအသုံးပြုခြင်းသည် SQL injection အန္တရာယ်များကိုထိရောက်စွာတားဆီးနိုင်သည်။ အောက်ဖော်ပြပါကုဒ်သည်အသုံးပြုသူအချက်အလက်များကိုလုံခြုံစွာထည့်သွင်းခြင်း၏လုပ်ဆောင်မှုကိုပြသသည်။
$statement = $connection->prepare("INSERT INTO users (username, password) VALUES (?, ?)");
$statement->bind_param("ss", $username, $password);
$statement->execute();
PHP framework နှင့် third-party libraries ၏စဉ်ဆက်မပြတ်ပြုပြင်ထိန်းသိမ်းမှုနှင့်နောက်ဆုံးသတင်းများသည်လျှောက်လွှာတင်ရေးကိုသေချာစေရန်လိုအပ်သောအစီအမံများလိုအပ်သည်။ ဗားရှင်းအသစ်များသည်များသောအားဖြင့်လုံခြုံရေးအားနည်းချက်များနှင့်ခြုံငုံတည်ငြိမ်မှုကိုတိုးတက်စေသည်။ မှီခိုအစိတ်အပိုင်းကိုနောက်ဆုံးပေါ်အထိစောင့်ရှောက်ရန်သေချာစေပါ။
ဤဆောင်းပါးတွင်မိတ်ဆက်ပေးသော PHP Form လုံခြုံရေးအလေ့အထများမှတစ်ဆင့် developer များက application protection စွမ်းရည်ကိုထိရောက်စွာတိုးတက်စေပြီးလုံခြုံရေးအန္တရာယ်များကိုလျှော့ချနိုင်သည်။ Form Security ဆိုသည်မှာကောင်းမွန်သောကာကွယ်စောင့်ရှောက်မှုအခြေအနေများတွင်တည်ရှိရန်သေချာစေရန်နောက်ဆုံးပေါ်လုံခြုံရေးခေတ်ရေစီးကြောင်းကိုအမြဲတမ်းအာရုံစိုက်ရန်နှင့်လေ့လာရန်လိုအပ်သည်။