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

PHP လုံခြုံရေး authication နှင့်ခွင့်ပြုချက်အပြည့်အစုံလမ်းညွှန် - လက်တွေ့ကျတဲ့နည်းလမ်းများနှင့်သင်္ကေတများ

M66 2025-07-21

PHP တွင်လုံခြုံရေး authentication နှင့်ခွင့်ပြုချက်ကိုခြုံငုံသုံးသပ်ချက်

PHP Development တွင်အသုံးပြုသူမည်သူမည်ဝါဖြစ်ကြောင်းသက်သေပြခြင်းနှင့်လက်လှမ်းမီမှုအခွင့်အရေးများကိုအကျိုးသင့်အကြောင်းသင့်ရှိသည့်လက်လှမ်းမီမှုများကိုပိုမိုလုံခြုံစိတ်ချရသောအထောက်အထားများသည်လုံခြုံစိတ်ချရသော 0 က်ဘ်အပလီကေးရှင်းများတည်ဆောက်ရန်သော့ချက်ဖြစ်သည်။ ဤဆောင်းပါးသည်ဘုံ authentication နှင့်ခွင့်ပြုချက်နည်းပညာများကိုမိတ်ဆက်ပေးပြီးပိုမိုလုံခြုံသောလျှောက်လွှာဝန်းကျင်ကိုရရှိရန်ကူညီရန်ကုဒ်သင်္ကေတများကိုပေါင်းစပ်ထားသည်။

authentication: အသုံးပြုသူရဲ့ဝိသေသလက်ခဏာကိုအတည်ပြုပါ

အခြေခံ HTTP authentication ကို

HTTP အခြေခံ authentication ကို browser pop-up 0 င်းဒိုးမှတဆင့်အသုံးပြုသူအမည်နှင့်စကားဝှက်ကိုတောင်းဆိုသည်။ ၎င်းသည်ရိုးရှင်းလွယ်ကူပြီးအသုံးပြုရန်လွယ်ကူသည်, သို့သော်ကူးစက်စဉ်အတွင်းလုံခြုံရေးနိမ့်သည်။

Code Perfection:

 // http အခြေခံ authentication header ('www-authenticate: အခြေခံဘုံ = "အကာအကွယ်ပေးထားသော area ရိယာ")
header ('http / 1.0 401 ခွင့်ပြုချက်မရှိဘဲ);

// အကယ်. ပေးထားသောအထောက်အထားများကိုစစ်ဆေးပါ (ISSET ($ _ server ['php__uuth_user']) && ospet ($ _ server ['php___pw']))
    $ username = $ _server ['php_auth_user';
    $ စကားဝှက် = $ _server ['php_auth_pw'];

    // အသုံးပြုသူကိုဒေတာဘေ့စ် $ stmt = $ MySQLI-> ပြင်ဆင်ရန် ("Username = us us on-us`? ")
    $ stmt-> bind_param ("SS", $ username, $ password);
    $ stmt-> execute ();
    $ ရလဒ် = $ stmt-> get_result ();
    $ stmt-> အနီးကပ် ();

    အကယ်. ($ ရလဒ် - num_row> 0) {
        // အတည်ပြုခြင်းသည်အောင်မြင်သည်, Access ကိုခွင့်ပြုသည်}
        // စိစစ်အတည်ပြုမှုမရှိခြင်းကခွင့်ပြုချက်မရှိသောတုန့်ပြန်မှု ECHO "ခွင့်ပြုချက်မရှိဘဲဝင်ရောက်ခြင်း" ကိုပြသခြင်း,
    }
}

form authentication ကို

အသုံးပြုသူအမည်နှင့်လျှို့ဝှက်နံပါတ်ကို HTML ပုံစံများဖြင့်တင်ပြခြင်းနှင့်စကားဝှက်သည်အသုံးပြုသော web application များတွင်အသုံးအများဆုံး authentication နည်းလမ်းဖြစ်သည်။

Code Perfection:

 // လုပ်ငန်းစဉ် login ပုံစံတင်သွင်းခဲ့ပါ (ISSET ($ _ _ username '] )&& is us _ _ _ post [' post ['post [' post ['post [' post ['post [' post ['post'))
    $ username = $ _post ['username'];
    $ စကားဝှက် = $ _post ['password'];

    // အသုံးပြုသူကိုဒေတာဘေ့စ် $ stmt = $ MySQLI-> ပြင်ဆင်ရန် ("Username = us us on-us`? ")
    $ stmt-> bind_param ("SS", $ username, $ password);
    $ stmt-> execute ();
    $ ရလဒ် = $ stmt-> get_result ();
    $ stmt-> အနီးကပ် ();

    အကယ်. ($ ရလဒ် - num_row> 0) {
        // အတည်ပြုခြင်းသည်အောင်မြင်သည်, authentication session_start () ကိုဖန်တီးပါ။
        $ _session ['authenticated'] = စစ်မှန်တဲ့;

        // ကာကွယ်ထားသော area ရိယာခေါင်းစီး ("တည်နေရာ: Protected_area.php" သို့ redirect ။
    } အခြား
        // စိစစ်အတည်ပြုမအောင်မြင်, အမှားအယွင်းရှိ ECHO "မမှန်ကန်သောသုံးစွဲသူအမည်",
    }
}

ခွင့်ပြုချက် - အသုံးပြုသူလက်လှမ်းမီမှုအခွင့်အရေးကိုထိန်းချုပ်ပါ

အခန်းကဏ် experience ခွင့်ပြုချက်

စီမံခန့်ခွဲမှုဆိုင်ရာခွင့်ပြုချက်များသည်သုံးစွဲသူအခန်းကဏ် on အပေါ် အခြေခံ. အသုံးပြုသူများ၏အခန်းကဏ် on အပေါ် အခြေခံ. အသုံးပြုသူများအနေဖြင့်စီမံခန့်ခွဲသူများနှင့်သာမန်သုံးစွဲသူများအကြားခွင့်ပြုချက်ခွဲခြားခြင်းကဲ့သို့သောအသုံးပြုသူများစွာ၏ application များ၌သာမန်ဖြစ်သည်။

Code Perfection:

 // အသုံးပြုသူသည်တိကျသောအကာအကွယ်ပေးထားသော area ရိယာကိုရယူရန်လိုအပ်သောခွင့်ပြုချက်ရှိမရှိစစ်ဆေးပါ။
    // access ကိုခွင့်ပြု}

အရင်းအမြစ်ခွင့်ပြုချက်

အသုံးပြုသူများသည်၎င်းတို့၏ခွင့်ပြုချက်များအတွင်းအရင်းအမြစ်များကိုသာ 0 င်ရောက်နိုင်ရန်အတွက် (ဥပမာဖိုင်များ, ဒေတာဘေ့စ်မှတ်တမ်းများ) ကို (ဖိုင်များ, ဒေတာဘေ့စ်မှတ်တမ်းများ) ကိုထိန်းချုပ်ရန်ထိန်းချုပ်ပါ။

Code Perfection:

 // အသုံးပြုသူ ID $ Path = '/ uploads /' အပေါ် အခြေခံ. ဖိုင်အိတ်ခွင့်ပြုချက်များကိုစစ်ဆေးပါ။ $ _GET ['file_id'];
အကယ်. (File_exists ($ Path) && is_file ($ path))
    $ filewowner = 'user_' ။ $ _GET ['user_id'];
    IF (ဖိုင်ပိုင်ရှင် ($ Path) == $ filewowner)
        // ဖိုင်များကိုခွင့်ပြုပါ}
}

ဘက်စုံလက်တွေ့ကျတဲ့ကိစ္စရပ်များ

မက်ဆေ့ခ်ျဘုတ်အဖွဲ့လျှောက်လွှာတွင်အထက်ပါ authentication နှင့်ခွင့်ပြုချက်ယန္တရားများကိုပေါင်းစပ်နိုင်သည်။

  • အသုံးပြုသူများသည် HTTP အခြေခံ authentication ကိုသို့မဟုတ်ပုံစံ authentication မှတဆင့်ဝင်ရောက်ပါ။
  • စစ်မှန်ကြောင်းအထောက်အထားပြသခြင်းအောင်မြင်ပြီးနောက် session တစ်ခုကိုဖန်တီးပြီး (ဥပမာအသုံးပြုသူသို့မဟုတ်အုပ်ချုပ်ရေးမှူးတစ် ဦး အဖြစ်) အခန်းကဏ် create တစ်ခုဖန်တီးပါ။
  • သက်ဆိုင်ရာအခန်းကဏ် with နှင့်သက်ဆိုင်သောအသုံးပြုသူများသာစီမံခန့်ခွဲမှုနောက်ခံကဲ့သို့သောကန့်သတ်ထားသောဒေသများသို့ဝင်ရောက်ကြည့်ရှုနိုင်သည်။

အကျဉ်းချုပ်

စစ်မှန်ကြောင်းအထောက်အထားပြသခြင်းနှင့်ခွင့်ပြုချက်လုပ်ငန်းစဉ်ကိုကျိုးကြောင်းဆီလျော်စွာဒီဇိုင်းရေးဆွဲခြင်းဖြင့် PHP developer များသည် web application များ၏လုံခြုံရေးကိုထိရောက်စွာတိုးတက်စေနိုင်သည်။ ဤဆောင်းပါးတွင်ဖော်ပြထားသောနမူနာကုဒ်နှင့်အကြံဥာဏ်များသည်ဤဆောင်းပါးတွင်ဖော်ပြထားသောအတွေးအခေါ်များသည်လုံခြုံစိတ်ချရသောဝင်ရောက်ခွင့်ကိုအကောင်အထည်ဖော်ရန်အတွက်လက်တွေ့ကျသောရည်ညွှန်းချက်ကိုအကောင်အထည်ဖော်ရန်အတွက်လက်တွေ့ကျကျရည်ညွှန်းသည်။