မျက်မှောက်ခေတ် web application များတွင်အသုံးပြုသူစစ်မှန်ကြောင်းအတည်ပြုခြင်းနှင့်ခွင့်ပြုချက်သည်အရေးကြီးသောရှုထောင့်တစ်ခုဖြစ်သည်။ မှန်ကန်သော authentication နှင့်ခွင့်ပြုချက်ယန္တရားမှတစ်ဆင့်အထိခိုက်မခံသောသတင်းအချက်အလက်များကိုထိရောက်စွာကာကွယ်နိုင်ပြီးခွင့်ပြုထားသောအသုံးပြုသူများသာတိကျသောအရင်းအမြစ်များကိုရယူနိုင်ကြောင်းသေချာစေနိုင်သည်။ ဤဆောင်းပါးသည် PHP နှင့် CGI တွင်အသုံးပြုသူ၏စစ်မှန်ကြောင်းအတည်ပြုခြင်းနှင့်ခွင့်ပြုချက်နည်းပညာများကိုနက်နက်ရှိုင်းရှိုင်းလေ့လာပြီး developer များကဤလုပ်ဆောင်မှုများကိုအကောင်အထည်ဖော်ရန်ကူညီရန်ကုဒ်များကိုပေးသည်။
အသုံးပြုသူ authentication သည်သုံးစွဲသူ၏မည်သူမည်ဝါဖြစ်ကြောင်းအတည်ပြုခြင်းလုပ်ငန်းစဉ်ဖြစ်သည်။ 0 ဘ်ဆိုဒ်တစ်ခုသို့မဟုတ်လျှောက်လွှာတွင်အသုံးပြုသူများသည်များသောအားဖြင့်၎င်းတို့၏ဝိသေသလက်ခဏာကိုအတည်ပြုရန်အသုံးပြုသူအမည်နှင့်စကားဝှက်ကိုပေးရန်လိုအပ်သည်။ PHP user authentication ၏ရိုးရှင်းသောဥပမာ -
<?php session_start(); // အသုံးပြုသူ logged in ဝင်ပါကစစ်ဆေးပါ if(isset($_SESSION['username'])){ echo "ကြိုဆိုပါတယ်,".$_SESSION['username']; // နောက်ထပ်အသုံးပြုသူစစ်ဆင်ရေး } else { // အသုံးပြုသူသည် logged မရှိသေးပါက,login ပုံစံကိုပြသသည် if(isset($_POST['username']) && isset($_POST['password'])){ $username = $_POST['username']; $password = $_POST['password']; // အသုံးပြုသူအမည်နှင့်စကားဝှက်မှန်ကန်မှုရှိမရှိစစ်ဆေးပါ if($username == "admin" && $password == "123456"){ // အောင်မြင်သောလက်မှတ်,Session အတွက်အသုံးပြုသူအမည်ကိုသိုလှောင်ပါ $_SESSION['username'] = $username; echo "အောင်မြင်စွာဝင်ပါ,ဝမ်းသာစွာနှုတ်ဆက်ခြင်း,".$username; // နောက်ထပ်အသုံးပြုသူစစ်ဆင်ရေး } else { echo "မမှန်ကန်သောအသုံးပြုသူအမည်သို့မဟုတ်စကားဝှက်"; } } else { // login ပုံစံကိုပြပါ echo '<form method="post" action=""> <input type="text" name="username" placeholder="အသုံးပြုသူ" required/><br/> <input type="password" name="password" placeholder="လှျို့ဝှက်စကား" required/><br/> <input type="submit" value="လော့ဂ်အင်"/> </form>''; } } >
အထက်ဖော်ပြပါဥပမာတွင်ကျွန်ုပ်တို့သည်နောက်စာမျက်နှာစာမျက်နှာလက်လှမ်းမီမှုတွင်မှတ်ပုံတင်ရန်အသုံးပြုသူအမည်အသုံးပြုသူအမည်ကိုသိမ်းဆည်းရန် $ _Session variable ကိုအသုံးပြုခဲ့သည်။ အကယ်. အသုံးပြုသူသည်မှန်ကန်သောအသုံးပြုသူအမည်နှင့်စကားဝှက်ကိုပေးထားပါကလော့ဂ်အင်သည်အောင်မြင်ပြီးအသုံးပြုသူအမည်ကို session ထဲတွင်သိမ်းထားသည်။
အသုံးပြုသူခွင့်ပြုချက်သည်အသုံးပြုသူမည်သူမည်ဝါဖြစ်ကြောင်း, စနစ်တစ်ခုတွင်မတူညီသောအသုံးပြုသူများသည်ခွင့်ပြုချက်အမျိုးမျိုးရှိသည်။ ထို့ကြောင့်ခွင့်ပြုထားသောအသုံးပြုသူများသာအထိခိုက်မခံသောသတင်းအချက်အလက်များကိုရယူနိုင်ရန်သို့မဟုတ်အချို့သောလုံခြုံရေးလုပ်ငန်းများလုပ်ဆောင်နိုင်ရန်အတွက်ခွင့်ပြုထားသောအသုံးပြုသူများသာသို့မဟုတ်အချို့သောလုံခြုံရေးလုပ်ငန်းများပြုလုပ်နိုင်ရန်လိုအပ်ကြောင်းသေချာစေရန်လိုအပ်သည်။ ဤတွင်ရိုးရိုး PHP အသုံးပြုသူခွင့်ပြုချက်ဥပမာတစ်ခုမှာ -
<?php session_start(); // အသုံးပြုသူ logged in ဝင်ပါကစစ်ဆေးပါ if(isset($_SESSION['username'])){ $username = $_SESSION['username']; // အသုံးပြုသူခွင့်ပြုချက်ကိုစစ်ဆေးပါ if($username == "admin"){ echo "သင့်တွင်အုပ်ချုပ်ရေးမှူးအခွင့်ထူးများရှိသည်"; // အုပ်ချုပ်ရေးမှူးများလုပ်ဆောင်ချက်များလုပ်ဆောင်ပါ } else { echo "သင်သာမန်အသုံးပြုသူခွင့်ပြုချက်သာရှိသည်"; // သာမန်အသုံးပြုသူစစ်ဆင်ရေးလုပ်ဆောင်ပါ } } else { echo "ကျေးဇူးပြု. ပထမ ဦး ဆုံး log in လုပ်ပါ"; } ?>
အထက်ပါဥပမာတွင်အသုံးပြုသူသည် log in လုပ်ပြီးပါကပထမ ဦး ဆုံးစစ်ဆေးပါ။ အကယ်. သင်သည် log in လုပ်ပြီးပါကအသုံးပြုသူခွင့်ပြုချက်အဆင့်အရသက်ဆိုင်ရာစစ်ဆင်ရေးကိုလုပ်ဆောင်ပါ။ အုပ်ချုပ်ရေးမှူးများအသုံးပြုသူများသည်အုပ်ချုပ်ရေးဆိုင်ရာလုပ်ငန်းများကိုလုပ်ဆောင်နိုင်ပြီးသာမန်အသုံးပြုသူများသည်သာမန်အသုံးပြုသူစစ်ဆင်ရေးများကိုသာပြုလုပ်နိုင်သည်။
ဝက်ဘ်လျှောက်လွှာများတွင်အထိခိုက်မခံသောသတင်းအချက်အလက်များ၏လုံခြုံရေးကိုသေချာစေရန်အတွက်စကားဝှက်များ, ကိုယ်ရေးကိုယ်တာအချက်အလက်များစသည့်အထိခိုက်မခံသောသတင်းအချက်အလက်များကိုသိမ်းဆည်းရန်နှင့်လုပ်ဆောင်ရန်လိုအပ်သည်။ စကားဝှက် hash တန်ဖိုးများကိုသိုလှောင်ခြင်းနှင့်အတည်ပြုခြင်းအတွက်ရိုးရှင်းသော PHP ကုဒ်ကိုဥပမာ -
<?php // 生成လှျို့ဝှက်စကား哈希值 $password = "123456"; $hash = password_hash($password, PASSWORD_DEFAULT); // Hash တန်ဖိုးများကိုဒေတာဘေ့စ်သို့သိမ်းထားပါ // 校验လှျို့ဝှက်စကား $enteredPassword = "123456"; if(password_verify($enteredPassword, $hash)){ echo "လှျို့ဝှက်စကား正确"; } else { echo "လှျို့ဝှက်စကား错误"; } ?>
အထက်ပါဥပမာတွင်စကားဝှက် hash function_hash () ကို အသုံးပြု. စကားဝှက်၏ hash တန်ဖိုးကိုထုတ်လုပ်ရန်နှင့်ဒေတာဘေ့စ်တွင်သိမ်းဆည်းရန်အသုံးပြုသည်။ နောက်ဆက်တွဲအတည်ပြုချက်ဖြစ်စဉ်တွင်ကျွန်ုပ်တို့သည်အသုံးပြုသူမှထည့်သွင်းထားသောစကားဝှက်ကိုယခင်သိုလှောင်ထားသည့် hash တန်ဖိုးနှင့်ကိုက်ညီမှုရှိ, မရှိကိုစစ်ဆေးရန်အတွက် စကားဝှက်ကို အသုံးပြုသည်။
အချည်းနှီးသော PHP နှင့် CGI တို့သည်အထိခိုက်မခံသောသတင်းအချက်အလက်များကိုကာကွယ်ရန်နှင့်သယံဇာတများအသုံးပြုခြင်းကိုကန့်သတ်ရန်အသုံးပြုနိုင်သည့်အစွမ်းထက်သောအသုံးပြုသူ authentication နှင့်ခွင့်ပြုချက်ယန္တရားများကိုပေးသည်။ ဤနည်းပညာများကိုမှန်ကန်စွာအကောင်အထည်ဖော်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ကျွန်ုပ်တို့၏လျှောက်လွှာများ၏လုံခြုံရေးကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်ပြီးလုပ်ပိုင်ခွင့်ရှိသောအသုံးပြုသူများသာအထိခိုက်မခံသောသတင်းအချက်အလက်များကိုရယူနိုင်ကြောင်းသေချာစေသည်။ ဤဆောင်းပါးမှသင်္ကေတဥပမာများသည် developer များကိုပိုမိုကောင်းမွန်စွာနားလည်ပြီးကျင့်သုံးနိုင်သည်ဟုမျှော်လင့်ပါသည်။