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

စွမ်းဆောင်ရည်ကို အသုံးပြု. PHP ကိုမည်သို့အသုံးပြုရမည်နည်း

M66 2025-06-19

PHP Development Schaigs - သုံးစွဲသူခွင့်ပြုချက်ထိန်းချုပ်မှုကိုဘယ်လိုအကောင်အထည်ဖော်မလဲ

Web application များတွင်သုံးစွဲသူခွင့်ပြုချက်ထိန်းချုပ်မှုသည်စနစ်၏လုံခြုံရေးကိုသေချာစေရန်အဓိကအင်္ဂါရပ်တစ်ခုဖြစ်သည်။ ခွင့်ပြုချက်မရှိဘဲဝင်ရောက်ခွင့်ကိုတားဆီးရုံသာမက၎င်းသည်တရားဝင်အသုံးပြုသူများသည်၎င်းတို့လိုအပ်သောခွင့်ပြုချက်များကိုရရှိစေသည်။ PHP Code နမူနာများမှတဆင့်အသုံးပြုသူခွင့်ပြုချက်ထိန်းချုပ်မှုကိုတဖြည်းဖြည်းချင်းသဘောပေါက်ရန်ဤဆောင်းပါးသည်သင့်အားယူပါလိမ့်မည်။

1 ။ ဒေတာဘေ့စဒီဇိုင်း

ခွင့်ပြုချက်ထိန်းချုပ်မှုစနစ်မဖော်ဆောင်ခင်အသုံးပြုသူသတင်းအချက်အလက်နှင့်ခွင့်ပြုချက်အချက်အလက်များကိုသိမ်းဆည်းရန်ဒေတာဘေ့စ်တစ်ခုကိုဒီဇိုင်းပြုလုပ်ရန်လိုအပ်သည်။ ပုံမှန်အားဖြင့်သင်သည်အောက်ပါဇယားများကိုဖန်တီးသည်။

1 ။ အသုံးပြုသူဇယား - သုံးစွဲသူရဲ့အခြေခံအချက်အလက်တွေကိုသိုလှောင်ထားပြီး login အထောက်အထားများကိုသိုလှောင်ထားပါတယ်။

2 ။ အခန်းကဏ် table - အသုံးပြုသူအခန်းကဏ် and နှင့်၎င်းတို့၏ဆက်စပ်ခွင့်များကိုသတ်မှတ်ပါ။

3 ။ ခွင့်ပြုချက်ဇယား - စနစ်ပေါ်ရှိရရှိနိုင်သည့်ခွင့်ပြုချက်အားလုံးကိုစာရင်းပြုစုထားသည်။

4 ။ ခွင့်ပြုချက်ကိုခွင့်ပြုချက်ဇယား - အခန်းကဏ် and များနှင့်ခွင့်ပြုချက်များနှင့်ဆက်သွယ်မှုများစွာရှိသောဆက်ဆံရေး။

နမူနာကုဒ်:

Table အသုံးပြုသူများကိုဖန်တီးပါ (
  ID Int (11) Auto_incrent မူလတန်းသော့,
  Username Varchar (50) NULL,
  Password Varchar (255) NURLE မဟုတ်ပါ။
  role_id int (11) null မဟုတ်
);

စားပွဲအခန်းကဏ် create ကိုဖန်တီးပါ (
  ID Int (11) Auto_incrent မူလတန်းသော့,
  narchar (50) null မဟုတ်
);

ဇယားခွင့်ပြုချက်ဖန်တီးပါ (
  ID Int (11) Auto_incrent မူလတန်းသော့,
  NARCHAR (50) NURNCH NATE NURN NUME,
  အရင်းအမြစ် varchar (50) NULL
);

စားပွဲပေါ်မှာ role_permissions ဖန်တီးပါ (
  ID Int (11) Auto_incrent မူလတန်းသော့,
  role_id int (11) null မဟုတ်,
  Permiss_id int (11) NULL မဟုတ်ပါ
);
  

2 ။ login function ကို

ခွင့်ပြုချက်ထိန်းချုပ်မှုကိုအကောင်အထည်ဖော်ခြင်းမပြုမီကျွန်ုပ်တို့သည်အခြေခံ login function ကိုအကောင်အထည်ဖော်ရန်လိုအပ်သည်။ အသုံးပြုသူသည်အသုံးပြုသူအမည်နှင့်စကားဝှက်ကိုတင်ပြခြင်းဖြင့်စစ်ဆေးလိမ့်မည်။ စနစ်သည်ဒေတာဘေ့စ်ရှိမှတ်တမ်းများအပေါ် အခြေခံ. အသုံးပြုသူအထောက်အထားများကိုစစ်ဆေးလိမ့်မည်။

နမူနာကုဒ်:

Session_Start ();

if ($ _server ['ayserver'] == 'post') {
  $ username = $ _post ['username'];
  $ စကားဝှက် = $ _post ['password'];

  // ဒေတာဘေ့စ်နှင့်မေးမြန်းမှုအသုံးပြုသူသတင်းအချက်အလက်ကိုဆက်သွယ်ပါ $ can = MySQLI ('localhost', 'username', 'password', 'database', 'database' ',
  $ query = "Username = '$ username and password =' ​​$ password 'ကိုသုံးသောအသုံးပြုသူများထံမှ *" Select * Select *;
  $ ရလဒ် = $ conn-> query ($ query);

  လျှင် ($ ရလဒ် - num_rows == 1) {
    $ Row = $ ရလဒ် -> Fetch_assoc ();
    $ _Session ['user_id'] = $ အတန်း ['ID'];
    $ _session ['username'] = $ အတန်း ['username'];
    $ _session ['role_id'] = $ အတန်း ['`` role_id'];
    header ('တည်နေရာ: Dashboard.php');
    ထွက်ပေါက်;
  } အခြား
    $ error = "မမှန်ကန်သောသုံးစွဲသူအမည်သို့မဟုတ်စကားဝှက်";
  }
}

အကယ်. (ISSET ($ _ session ['session [' '])))
  header ('တည်နေရာ: Dashboard.php');
  ထွက်ပေါက်;
}
  

3 ။ ခွင့်ပြုချက်အတည်ပြုခြင်း

အသုံးပြုသူမှတ်တမ်းများအပြီးသုံးစွဲသူများသည်၎င်းတို့လုပ်ပိုင်ခွင့်ရှိသောအရင်းအမြစ်များကိုသာ 0 င်ရောက်နိုင်ရန်အတွက်အသုံးပြုသူ၏အခန်းကဏ်အပေါ်တွင်မူပိုင်ခွင့်များကိုအတည်ပြုရန်လိုအပ်သည်။ ခွင့်ပြုချက်စစ်ဆေးမှုလုပ်ဆောင်ချက်ကိုရေးခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်အသုံးပြုသူများကိုမှတ်ပုံတင်ထားသောစာမျက်နှာများကိုမဝင်ရောက်နိုင်အောင်ကန့်သတ်နိုင်သည်။

နမူနာကုဒ်:

function checkpermission ($ အရင်းအမြစ်) {
  // အသုံးပြုသူသည် 0 င်ရောက်လျှင် (! is _ _ session ['session [' session]))
    header ('တည်နေရာ: login.php');
    ထွက်ပေါက်;
  }

  // အသုံးပြုသူ၏ခွင့်ပြုချက်ကို $ cons = quige quelign = MySQLI ('localhost', 'username', 'password', 'database', 'database',
  $ query = "Permissions.name ကိုရွေးချယ်ပါ 
            (အခန်းကဏ် r) မှ 
            roles.ID = roles.ID = role_permissions.role_ID တွင် join join jouls_permissions join 
            အတွင်းစိတ် onner role_permissions.permissions.permission_ID = ခွင့်ပြုချက်အပေါ်ခွင့်ပြုချက် 
            ဘယ်မှာ {{$ _session ['_s_id']} 
            နှင့်ခွင့်ပြုချက် ..Resource = '$ အရင်းအမြစ်',

  $ ရလဒ် = $ conn-> query ($ query);

  လျှင် ($ ရလဒ် - num_rows == 0) {
    header ('တည်နေရာ: ခွင့်ပြုချက်မရှိသော။ );
    ထွက်ပေါက်;
  }
}

စစ်ဆေးမှု ('Dashboard.php');
  

နိဂုံးချုပ်အားဖြင့်

ဤဆောင်းပါးသည်ဒေတာဘေ့စ်ဒီဇိုင်း, အသုံးပြုသူ login စိစစ်အတည်ပြုခြင်း, သင်၏လိုအပ်ချက်များပေါ် မူတည်. ကွဲပြားသော web application scermarios နှင့်ကိုက်ညီရန်ဤစနစ်ကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။ ခွင့်ပြုချက်ထိန်းချုပ်မှုသည်စနစ်၏လုံခြုံရေးကိုပိုမိုမြှင့်တင်ပေးရုံသာမကအသုံးပြုသူအတွေ့အကြုံကိုလည်းတိုးတက်စေသည်။ ၎င်းသည် PHP Developer တိုင်းအတွက်မဖြစ်မနေလိုအပ်သည်။

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