မျက်မှောက်ခေတ်အင်တာနက်ခေတ်တွင်စကားဝှက်များ၏လုံခြုံရေးသည်အလွန်အရေးကြီးသည်။ သုံးစွဲသူ privacy ကိုကာကွယ်ရန်အတွက်စကားဝှက်စာဝှက်ခြင်းနှင့်စိစစ်အတည်ပြုမှတဆင့်အသုံးပြုသူစကားဝှက်အချက်အလက်များကိုသိမ်းဆည်းရန်နှင့် process လုပ်ပါ။ ဤဆောင်းပါးသည်ဤလုပ်ဆောင်မှုကိုအကောင်အထည်ဖော်ရန် PPP နှင့် SQLite ကိုမည်သို့အသုံးပြုရမည်ကိုရှင်းပြပါလိမ့်မည်။
စကားဝှက်စာဝှက်စနစ်သည်အသုံးပြုသူမှထည့်ထားသောကျပန်းကြိုးများဖြင့်ထည့်သွင်းထားသော plaintext password ကိုပြောင်းလဲရန်ဖြစ်သည်။ ဒေတာဘေ့စ်အချက်အလက်များပေါက်ကြားနေလျှင်ပင် password ကိုလွင်ပြင်စာသားဖြင့်ထိတွေ့လိမ့်မည်မဟုတ်ပါ။ PHP တွင် PHP, Password_Hash () function ကိုစကားဝှက်စာဝှက်စနစ်ကိုအကောင်အထည်ဖော်ရန်အသုံးပြုနိုင်သည်။
// စကားဝှက်စာဝှက်ခြင်းဥပမာ
$password = "123456";
$hash = password_hash($password, PASSWORD_DEFAULT);
အထက်ပါကုဒ်တွင် $ password သည်အသုံးပြုသူမှထည့်သွင်းထားသော plaintext password ကိုကိုယ်စားပြုသည်။ function_hash () သည်လက်ရှိ default algorithm အပေါ် အခြေခံ. စာဝှက်ထားသောစကားဝှက်ကိုထုတ်ပေးလိမ့်မည်။
အသုံးပြုသူမှတ်တမ်းများ 0 င်ရောက်သောအခါထည့်သွင်းထားသောစကားဝှက်သည်အသုံးပြုသူမည်သူမည်ဝါဖြစ်ကြောင်းသေချာစေရန်ဒေတာဘေ့စ်တွင်သိမ်းဆည်းထားသောစာဝှက်ထားသောစကားဝှက်နှင့်ကိုက်ညီကြောင်းအတည်ပြုရန်လိုအပ်သည်။ PHP တွင်သင်သည် password_verify () function ကိုအတည်ပြုရန်အတွက်အသုံးပြုနိုင်သည်။
// စကားဝှက်အတည်ပြုခြင်းဥပမာ
$password = "123456";
$hash = "$2y$10$KZxpkRfkBrmJr9X11qaIjeJf1cgjF9OXmcruE/YqLqKx6F79KRjlC";
if (password_verify($password, $hash)) {
echo "စကားဝှက်စစ်ဆေးမှုအတည်ပြု";
} else {
echo "စကားဝှက်ကိုစစ်ဆေးခြင်းမအောင်မြင်ပါ";
}
ဤဥပမာတွင် $ password သည်အသုံးပြုသူမှထည့်သွင်းထားသော Plaintext password ဖြစ်ပြီးဒေါ်လာ hash သည်ဒေတာဘေ့စ်မှထုတ်ယူထားသောစာဝှက်ထားသောစကားဝှက်ဖြစ်သည်။ လျှို့ဝှက်နံပါတ်ကို () function ကိုစကားဝှက်ကိုက်ညီမှုရှိမရှိဆုံးဖြတ်ရန်အသုံးပြုနိုင်သည်။
ဤဥပမာတွင်သုံးစွဲသူ၏စကားဝှက်အချက်အလက်သိုလှောင်ရန် SQLite ဒေတာဘေ့စ်ကိုအသုံးပြုမည်။ Sqlite သည်ပြင်ပဒေတာဘေ့စ်ဆာဗာတစ်ခုမလိုအပ်သည့်ပေါ့ပါးသော Empedded database တစ်ခုဖြစ်ပြီးစီမံကိန်းအသေးစားအသုံးပြုရန်သင့်လျော်သည်။
ပထမ ဦး စွာ SQLite ဒေတာဘေ့စ်တစ်ခုကို ဖန်တီး. စကားဝှက်အချက်အလက်များကိုသိမ်းဆည်းရန်အသုံးပြုသူဇယားတစ်ခုကိုတည်ဆောက်ပါ။
// ဖန်တီးSQLiteဒေတာဘေ့စ်
$db = new SQLite3("mydb.db");
// ဖန်တီး用户表
$query = "CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT NOT NULL,
password TEXT NOT NULL
);";
$db->exec($query);
ထို့နောက်စာဝှက်ထားတဲ့စကားဝှက်ကိုဒေတာဘေ့စ်ထဲမှာသိမ်းထားပါ။
// 将密码存储到ဒေတာဘေ့စ်
$password = "123456";
$hash = password_hash($password, PASSWORD_DEFAULT);
$query = "INSERT INTO users (username, password) VALUES ('user1', '$hash')";
$db->exec($query);
စကားဝှက်ကိုစာဝှက်ထားတဲ့သိုလှောင်မှုပြီးဆုံးသွားတဲ့အခါအသုံးပြုသူသည် log in လုပ်သည့်အခါစကားဝှက်စစ်ဆေးမှုပြုလုပ်ရန်လိုအပ်သည်။
// အသုံးပြုသူ login
$username = "user1";
$password = "123456";
// 从ဒေတာဘေ့စ်中获取密码
$query = "SELECT password FROM users WHERE username = '$username'";
$result = $db->querySingle($query);
// စကားဝှက်ကိုစစ်ဆေးပါ
if (password_verify($password, $result)) {
echo "အောင်မြင်စွာဝင်ပါ";
} else {
echo "လော့ဂ်အင်မအောင်မြင်ပါ";
}
// 关闭ဒေတာဘေ့စ်连接
$db->close();
ဤကုဒ်များမှတစ်ဆင့်သုံးစွဲသူစကားဝှက်များ၏လုံခြုံရေးကိုသေချာစေရန်သုံးစွဲသူစကားဝှက်များ၏စာဝှက်ခြင်းနှင့်စစ်ဆေးခြင်းဆိုင်ရာလုပ်ဆောင်ချက်များကိုအကောင်အထည်ဖော်နိုင်သည်။
PHP နှင့် SQLite သည်စကားဝှက်များကိုစာဝှက်ရန်နှင့်အတည်ပြုရန်ရိုးရှင်းလွယ်ကူသောနည်းလမ်းတစ်ခုကိုပေးသည်။ ဤလုပ်ဆောင်ချက်များကိုကျိုးကြောင်းဆီလျော်စွာအသုံးပြုခြင်းဖြင့်ကျွန်ုပ်တို့သည် 0 ဘ်ဆိုဒ်၏လုံခြုံရေးကိုထိရောက်စွာတိုးတက်စေပြီးသုံးစွဲသူများ၏ privacy ကိုကာကွယ်နိုင်သည်။