Rumah  >  Artikel  >  pangkalan data  >  Amalan pembangunan kawalan kebenaran pengguna PHP MySQL

Amalan pembangunan kawalan kebenaran pengguna PHP MySQL

WBOY
WBOYasal
2023-07-01 08:31:37650semak imbas

Amalan pembangunan PHP: Gunakan PHP dan MySQL untuk melaksanakan kawalan kebenaran pengguna

Dengan pembangunan Internet, semakin banyak laman web dan aplikasi perlu melaksanakan fungsi kawalan kebenaran pengguna untuk memastikan pengguna hanya boleh mengakses sumber yang dibenarkan untuk digunakan. . Sebagai bahasa pengaturcaraan bahagian pelayan yang digunakan secara meluas, PHP menyediakan pelbagai alatan dan fungsi untuk melaksanakan kawalan kebenaran pengguna. Digabungkan dengan pangkalan data MySQL, kami boleh membina sistem kawalan kebenaran yang fleksibel dan selamat dengan cepat.

Dalam artikel ini, kami akan memperkenalkan cara melaksanakan kawalan kebenaran pengguna menggunakan PHP dan MySQL. Kami akan meneruskan seperti berikut:

  1. Buat pangkalan data dan jadual
  2. Fungsi pendaftaran dan log masuk
  3. Kawalan hak pengguna
  4. Halaman pengurusan kebenaran
  5. Proses pengesahan
dan langkah pertama adalah untuk mencipta pangkalan data. Kita perlu mencipta pangkalan data untuk menyimpan maklumat pengguna dan maklumat kebenaran. Menggunakan MySQL atau alat pengurusan pangkalan data lain, cipta pangkalan data dan namakannya "user_perm", dan kemudian buat dua jadual dalam pangkalan data: "pengguna" dan "kebenaran".

Jadual pengguna akan menyimpan maklumat asas pengguna, seperti nama pengguna, kata laluan, e-mel, dsb. Ia juga akan mengandungi medan yang dipanggil "peranan" yang mengenal pasti peranan pengguna.

Jadual kebenaran akan menyimpan jenis kebenaran yang berbeza dan maklumat berkaitannya. Setiap kebenaran akan dikaitkan dengan peranan. Kebenaran yang disenaraikan dalam jadual menentukan sumber yang boleh diakses oleh pengguna.

Langkah kedua ialah fungsi pendaftaran dan log masuk. Kita boleh menggunakan PHP untuk melaksanakan fungsi pendaftaran dan log masuk pengguna. Apabila pengguna mendaftar, kami mengesahkan maklumat yang diberikan oleh pengguna dan menyimpannya ke jadual pengguna dalam pangkalan data. Apabila pengguna log masuk, kami mengesahkan nama pengguna dan kata laluan mereka dan menjana Sesi untuk memastikan pengguna log masuk sepanjang sesi.

Perlu diperhatikan di sini bahawa untuk penyimpanan kata laluan, kita harus menggunakan algoritma penyulitan (seperti bcrypt) untuk menyulitkan kata laluan pengguna dan menyimpannya ke dalam pangkalan data. Dengan cara ini, walaupun pangkalan data diakses secara haram, kata laluan pengguna tidak akan bocor.

Langkah ketiga ialah kawalan kebenaran pengguna. Dalam jadual pengguna, kami menambah medan yang dipanggil "peranan" yang mengenal pasti peranan pengguna. Kami boleh menetapkan peranan yang berbeza kepada pengguna, seperti "Pentadbir", "Editor", "Pengguna Umum", dsb. Setiap peranan akan diberikan satu set kebenaran.

Kami boleh menggunakan pembolehubah sesi dalam PHP untuk menyimpan maklumat peranan pengguna semasa. Apabila pengguna log masuk, kita boleh menyimpan maklumat peranan mereka dalam pembolehubah sesi dan menggunakan peranan itu untuk menentukan sama ada pengguna mempunyai hak untuk mengakses sumber.

Langkah keempat ialah halaman pengurusan kebenaran. Untuk memudahkan pengurusan kebenaran, kami boleh membuat halaman pengurusan kebenaran. Pentadbir boleh menggunakan halaman ini untuk menambah, mengubah suai atau mengalih keluar kebenaran. Apabila pentadbir membuat sebarang perubahan, kami perlu mengemas kini jadual kebenaran dalam pangkalan data, dan apabila pengguna log masuk seterusnya, kemas kini pembolehubah sesi mereka.

Langkah kelima ialah proses pengesahan. Apabila pengguna cuba mengakses sumber yang dilindungi, kami perlu melakukan pengesahan pengesahan. Ini boleh dilakukan di bahagian atas setiap halaman atau skrip yang dilindungi. Kami boleh menyemak peranan pengguna semasa dan menentukan sama ada akses kepada sumber itu dibenarkan berdasarkan peranannya.

Sebagai contoh, jika hanya peranan pentadbir boleh mengakses halaman tertentu, kami boleh menggunakan kod berikut untuk pengesahan pengesahan:

session_start();
if($_SESSION['role'] != 'admin'){
   // 未授权访问
   echo "Access denied!";
   exit;
}

Dengan cara ini, apabila pengguna biasa cuba mengakses halaman, mereka akan digesa dengan "Akses ditolak !" dan Akses dinafikan.

Ringkasnya, menggunakan PHP dan MySQL untuk melaksanakan kawalan kebenaran pengguna boleh menyediakan fungsi kawalan akses yang fleksibel dan selamat. Kami boleh mencipta pangkalan data dan jadual untuk menyimpan maklumat pengguna dan kebenaran, melaksanakan fungsi pendaftaran dan log masuk, serta mengurus peranan dan kebenaran pengguna. Melalui proses pengesahan dan pengesahan, kami boleh memastikan bahawa pengguna hanya boleh mengakses sumber yang mereka dibenarkan.

Amalan kawalan kebenaran pengguna ini penting untuk keselamatan tapak web dan aplikasi. Ia bukan sahaja menghalang akses tanpa kebenaran dan potensi kebocoran maklumat, tetapi juga membantu kami melaksanakan kawalan akses yang lebih terperinci pada sistem untuk memenuhi keperluan pengguna yang berbeza. Oleh itu, adalah sangat penting untuk pembangun PHP mempelajari dan menguasai teknologi praktikal ini.

Atas ialah kandungan terperinci Amalan pembangunan kawalan kebenaran pengguna PHP MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn