Web Development တွင်အသုံးပြုသူ input သည်အသုံးအများဆုံးနှင့်အလွယ်တကူတိုက်ခိုက်ခံရသော 0 င်ရောက်မှုဖြစ်သည်။ အသုံးပြုသူ input ကိုရေးဆွဲခြင်း၏လုံခြုံရေးကိုတိုးတက်စေရန် PHP သည်လက်တွေ့ကျတဲ့လုပ်ဆောင်ချက်များကိုထောက်ပံ့ပေးနိုင် သည် ။ ဤဆောင်းပါးသည် XSS (Cross-site scripting attaching attaching) နှင့်စကားဝှက်ယိုစိမ့်မှုကဲ့သို့သောဘုံတိုက်ခိုက်မှုနည်းစနစ်များကိုထိရောက်စွာတားဆီးရန်ဤဆောင်းပါးနှစ်ခုကိုပေါင်းစပ်။ မိတ်ဆက်ပေးလိမ့်မည်။
filter_input () သည် PHP တွင်ပါ 0 င်သည့် PHP တွင် built-in function တစ်ခုဖြစ်သည်။ သုံးစွဲသူများမှတင်ပြသောအချက်အလက်များကိုအသုံးပြုသူများကတင်သွင်းသောအချက်အလက်များကို application logic layer ထဲသို့ 0 င်ရောက်ခြင်းမှကာကွယ်ရန်တားဆီးနိုင်သည်။ ဥပမာအားဖြင့်:
$username = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING);
ဤကုဒ်နံပါတ်၏ရည်ရွယ်ချက်မှာ post မှ Username parameters များကိုရယူရန်နှင့် cross-site scripting တိုက်ခိုက်မှုများကိုကာကွယ်ရန် HTML tags များနှင့်အထူးအက္ခရာများကိုဖယ်ရှားရန်ဖြစ်သည်။
အသုံးပြုသူစကားဝှက်များကိုလုံခြုံသောသိုလှောင်မှုသည် developer များအလေးအနက်ထားရမည့်ပြ issue နာတစ်ခုဖြစ်သည်။ PHP မှပေးသော crypt () function သည် encryption algorithms အမျိုးမျိုးနှင့် blowfish algorithm ကိုထောက်ပံ့သည် ။ စာဝှက်ထားတဲ့စကားဝှက်ကအက်ကွဲဖို့အခက်တွေ့နေတယ်။ ဒေတာဘေ့စ်ပေါက်ကြားနေရင်တောင်တိုက်ခိုက်သူကမူလစကားဝှက်ကိုအလွယ်တကူမပြန်နိုင်ဘူး။
ဥပမာအသုံးပြုမှု:
$salt = '$2y$10$' . substr(str_replace('+', '.', base64_encode(random_bytes(22))), 0, 22);
$hashedPassword = crypt($password, $salt);
အသုံးပြုသူတစ် ဦး ချင်းစီ၏စကားဝှက်သည်အတူတူပင်ဖြစ်ပါကပင်ထုတ်လုပ်သော Ciphertext နှင့်ကွဲပြားခြားနားကြောင်းသေချာစေရန် Mander_bytes () ကို ကျပန်းကျပန်း string ကိုထုတ်လုပ်ရန်အသုံးပြုသည်။
filter_input () နှင့် crypt () ကိုအသုံးပြုခြင်းသည်လုံခြုံသောဒေတာအပြောင်းအလဲလုပ်ငန်းစဉ်ကိုတည်ဆောက်နိုင်သည်။
XSS နှင့် Code ဆေးထိုးခြင်းကိုကာကွယ်ရန်အသုံးပြုသူထည့်ပါ။
ထို့နောက် စာဝှက်ရန် စကားဝှက်ကိုစာဝှက်ရန်နှင့်စကားဝှက်ကိုစာဝှက်ရန်အသုံးပြုပါ။
နောက်ဆုံးအနေဖြင့်စာဝှက်ထားသောစကားဝှက်နှင့်အသုံးပြုသူအမည်များကိုသာဒေတာဘေ့စ်တွင်သိမ်းထားသည်။
ဤလုပ်ဆောင်မှုဖြစ်စဉ်သည်ဘုံဝက်ဘ်တိုက်ခိုက်မှုများကိုထိရောက်စွာကာကွယ်နိုင်ပြီး 0 က်ဘ်ဆိုက်အတွက်ခိုင်မာသောလုံခြုံရေးဖောင်ဒေးရှင်းတစ်ခုဖြစ်နိုင်သည်။
0 င်ရောက်သောအခါသင် Crypt () ကို ဒေတာဘေ့စ်တွင်စာဝှက်ထားသောစကားဝှက်ဖြင့်တင်ပြထားသောစကားဝှက်ကိုနှိုင်းယှဉ်ရန်သာလိုအပ်သည်။
$inputPassword = filter_input(INPUT_POST, 'password', FILTER_SANITIZE_STRING);
$storedHash = 'ဒေတာဘေ့စ်မှယူထားသောစကားဝှက် hash တန်ဖိုး';
if (crypt($inputPassword, $storedHash) === $storedHash) {
echo "စကားဝှက်စစ်ဆေးမှုအတည်ပြု";
} else {
echo "စကားဝှက်";
}
ဤအတည်ပြုနည်းနည်းလမ်းသည်လုံခြုံပြီးစံသတ်မှတ်ချက်ဖြစ်ပြီး plaintext သို့စကားဝှက်ကိုပြန်လည်ရယူရန်မလိုအပ်ပါ။
filter_input () နှင့် crypt ကို ပေါင်းစပ်ခြင်းအားဖြင့်ဝက်ဘ်ဆိုက်၏အသုံးပြုသူ input ကိုအပြောင်းအလဲအတွက်လုံခြုံရေးကိုသိသိသာသာတိုးတက်စေနိုင်သည်။ filter_input () သည်အန္တရာယ်ရှိသောသွင်းအားစုကိုကာကွယ်ရန် filtering အတွက်တာ 0 န်ရှိသည်။ crypt () စကားဝှက်ယိုစိမ့်မှုကိုကာကွယ်ရန် encryption အတွက်တာဝန်ရှိသည်။ လုံခြုံသော login system တစ်ခုတည်ဆောက်ခြင်းနှင့်အသုံးပြုသူစီမံခန့်ခွဲမှုစနစ်တည်ဆောက်သည့်အခါဤလုပ်ဆောင်ချက်နှစ်ခုသည်မရှိမဖြစ်လိုအပ်သည်။ developer များသည်အသုံးပြုသူများနှင့်စနစ်၏လုံခြုံမှုကိုကာကွယ်ရန်ဤလုပ်ဆောင်မှုများကို အသုံးပြု. အလေ့အကျင့်ကောင်းများကိုတီထွင်သင့်သည်။