လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP နှင့် SQLITE အကောင်အထည်ဖော်စကားဝှက်စာဝှက်ခြင်းနှင့်စိစစ်အတည်ပြုခြင်း - ပြည့်စုံသောလမ်းညွှန်

PHP နှင့် SQLITE အကောင်အထည်ဖော်စကားဝှက်စာဝှက်ခြင်းနှင့်စိစစ်အတည်ပြုခြင်း - ပြည့်စုံသောလမ်းညွှန်

M66 2025-06-13

နိဒါန်း

မျက်မှောက်ခေတ်အင်တာနက်ခေတ်တွင်စကားဝှက်များ၏လုံခြုံရေးသည်အလွန်အရေးကြီးသည်။ သုံးစွဲသူ privacy ကိုကာကွယ်ရန်အတွက်စကားဝှက်စာဝှက်ခြင်းနှင့်စိစစ်အတည်ပြုမှတဆင့်အသုံးပြုသူစကားဝှက်အချက်အလက်များကိုသိမ်းဆည်းရန်နှင့် process လုပ်ပါ။ ဤဆောင်းပါးသည်ဤလုပ်ဆောင်မှုကိုအကောင်အထည်ဖော်ရန် PPP နှင့် SQLite ကိုမည်သို့အသုံးပြုရမည်ကိုရှင်းပြပါလိမ့်မည်။

1 ။ စကားဝှက်စာဝှက်ခြင်း

စကားဝှက်စာဝှက်စနစ်သည်အသုံးပြုသူမှထည့်ထားသောကျပန်းကြိုးများဖြင့်ထည့်သွင်းထားသော plaintext password ကိုပြောင်းလဲရန်ဖြစ်သည်။ ဒေတာဘေ့စ်အချက်အလက်များပေါက်ကြားနေလျှင်ပင် password ကိုလွင်ပြင်စာသားဖြင့်ထိတွေ့လိမ့်မည်မဟုတ်ပါ။ PHP တွင် PHP, Password_Hash () function ကိုစကားဝှက်စာဝှက်စနစ်ကိုအကောင်အထည်ဖော်ရန်အသုံးပြုနိုင်သည်။

 
// စကားဝှက်စာဝှက်ခြင်းဥပမာ
$password = "123456";
$hash = password_hash($password, PASSWORD_DEFAULT);

အထက်ပါကုဒ်တွင် $ password သည်အသုံးပြုသူမှထည့်သွင်းထားသော plaintext password ကိုကိုယ်စားပြုသည်။ function_hash () သည်လက်ရှိ default algorithm အပေါ် အခြေခံ. စာဝှက်ထားသောစကားဝှက်ကိုထုတ်ပေးလိမ့်မည်။

2 ။ စကားဝှက်ကိုအတည်ပြုခြင်း

အသုံးပြုသူမှတ်တမ်းများ 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 ကိုစကားဝှက်ကိုက်ညီမှုရှိမရှိဆုံးဖြတ်ရန်အသုံးပြုနိုင်သည်။

3 ။ စကားဝှက်များကိုသိမ်းဆည်းရန် SQLite ဒေတာဘေ့စ်ကိုသုံးပါ

ဤဥပမာတွင်သုံးစွဲသူ၏စကားဝှက်အချက်အလက်သိုလှောင်ရန် 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 ကိုကာကွယ်နိုင်သည်။

မကြာသေးမီ ဆောင်းပါးများ