Rumah pembangunan bahagian belakang tutorial php Cara menggunakan PHP untuk melaksanakan fungsi kawalan kebenaran

Cara menggunakan PHP untuk melaksanakan fungsi kawalan kebenaran

Jun 23, 2023 am 10:16 AM
senarai kawalan capaian (acl) Pengurusan hak pengguna kawalan kebenaran php

Kawalan kebenaran ialah keperluan pembangunan web biasa, yang membolehkan aplikasi web memberikan hak akses yang berbeza kepada pengguna yang berbeza. Dalam PHP, kawalan kebenaran boleh dicapai dalam pelbagai cara Artikel ini akan menumpukan pada penggunaan Sesi dan pangkalan data untuk mencapai kawalan kebenaran.

1. Gunakan Sesi untuk melaksanakan kawalan kebenaran

Sesi ialah teknologi pengurusan keadaan yang biasa digunakan dalam pembangunan web Dengan menyimpan maklumat pengguna dalam Sesi, kami boleh menggunakannya pada berbilang halaman aplikasi. kongsi maklumat ini. Untuk melaksanakan kawalan kebenaran, kami boleh menyimpan maklumat pengguna dalam Sesi selepas pengguna log masuk dan menyemak sama ada Sesi wujud dalam halaman yang memerlukan kawalan kebenaran untuk menentukan sama ada pengguna mempunyai kebenaran untuk mengakses halaman.

Berikut ialah contoh mudah menggunakan Sesi untuk melaksanakan kawalan kebenaran:

  1. Halaman log masuk (log masuk.php)
<?php
session_start();
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  // 验证登录
  $username = $_POST['username'];
  $password = $_POST['password'];
  if ($username == 'admin' && $password == '1234') {
    // 登录成功,保存用户信息到Session
    $_SESSION['user'] = array(
      'username' => $username,
      'role' => 'admin' // 权限角色
    );
    header('Location: index.php');
    exit;
  } else {
    // 登录失败
    $error = '用户名或密码错误';
  }
}
?>
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>登录</title>
</head>
<body>
  <h1>登录</h1>
  <form method="post">
    <label>用户名:</label><input type="text" name="username"><br>
    <label>密码:</label><input type="password" name="password"><br>
    <input type="submit" value="登录"><br>
    <?php if (isset($error)) { echo $error; } ?>
  </form>
</body>
</html>
Salin selepas log masuk
  1. Memerlukan kawalan kebenaran Halaman (index.php)
<?php
session_start();
// 检查Session是否存在,判断用户是否登录
if (!isset($_SESSION['user'])) {
  header('Location: login.php');
  exit;
}
// 检查用户角色,判断用户是否有权限访问该页面
if ($_SESSION['user']['role'] != 'admin') {
  header('Location: unauthorized.php');
  exit;
}
?>
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>首页</title>
</head>
<body>
  <h1>欢迎您,<?php echo $_SESSION['user']['username']; ?></h1>
  <p>这是管理员页面,只有管理员才能访问。</p>
  <a href="logout.php">退出登录</a>
</body>
</html>
Salin selepas log masuk
Salin selepas log masuk
  1. Halaman log keluar (logout.php)
<?php
session_start();
// 销毁Session,用户退出登录
session_destroy();
header('Location: login.php');
exit;
?>
Salin selepas log masuk
Salin selepas log masuk

2. Gunakan pangkalan data untuk melaksanakan kawalan kebenaran

Dalam contoh menggunakan Sesi untuk melaksanakan kawalan kebenaran, maklumat pengguna disimpan dalam Sesi Jika aplikasi web mempunyai berbilang pelayan pada masa yang sama, perkongsian maklumat Sesi boleh menyebabkan masalah. Pada masa ini, kami boleh menyimpan maklumat pengguna dalam pangkalan data untuk mencapai kawalan kebenaran dalam persekitaran yang diedarkan.

Berikut ialah contoh mudah menggunakan pangkalan data MySQL untuk melaksanakan kawalan kebenaran:

  1. Buat jadual pengguna
CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(50) NOT NULL,
  `password` varchar(50) NOT NULL,
  `role` varchar(50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Salin selepas log masuk
  1. Pemprosesan log masuk pengguna (log masuk. php)
<?php
session_start();
$user = null;
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  // 验证登录
  $username = $_POST['username'];
  $password = $_POST['password'];
  // 查询用户信息
  $con = mysqli_connect('localhost', 'root', '', 'test');
  $sql = "SELECT * FROM users WHERE username='$username' AND password='$password'";
  $result = mysqli_query($con, $sql);
  $user = mysqli_fetch_assoc($result);
  mysqli_close($con);
  // 验证用户信息,保存用户信息到Session
  if ($user != null) {
    $_SESSION['user'] = $user;
    header('Location: index.php');
    exit;
  } else {
    // 登录失败
    $error = '用户名或密码错误';
  }
}
?>
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>登录</title>
</head>
<body>
  <h1>登录</h1>
  <form method="post">
    <label>用户名:</label><input type="text" name="username"><br>
    <label>密码:</label><input type="password" name="password"><br>
    <input type="submit" value="登录"><br>
    <?php if (isset($error)) { echo $error; } ?>
  </form>
</body>
</html>
Salin selepas log masuk
  1. Halaman yang memerlukan kawalan kebenaran (index.php)
<?php
session_start();
// 检查Session是否存在,判断用户是否登录
if (!isset($_SESSION['user'])) {
  header('Location: login.php');
  exit;
}
// 检查用户角色,判断用户是否有权限访问该页面
if ($_SESSION['user']['role'] != 'admin') {
  header('Location: unauthorized.php');
  exit;
}
?>
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>首页</title>
</head>
<body>
  <h1>欢迎您,<?php echo $_SESSION['user']['username']; ?></h1>
  <p>这是管理员页面,只有管理员才能访问。</p>
  <a href="logout.php">退出登录</a>
</body>
</html>
Salin selepas log masuk
Salin selepas log masuk
  1. Keluar dari halaman log masuk (log keluar.php)
<?php
session_start();
// 销毁Session,用户退出登录
session_destroy();
header('Location: login.php');
exit;
?>
Salin selepas log masuk
Salin selepas log masuk

Ringkasan:

Artikel ini memperkenalkan cara melaksanakan kawalan kebenaran menggunakan Sesi dan pangkalan data. Kawalan kebenaran yang dilaksanakan menggunakan Sesi adalah mudah dan sesuai untuk aplikasi Web kecil yang dilaksanakan menggunakan pangkalan data adalah lebih fleksibel dan lebih sesuai untuk aplikasi Web yang besar. Tidak kira kaedah yang digunakan, kuncinya ialah memahami prinsip dan kaedah pelaksanaan kawalan kebenaran untuk memastikan keselamatan dan kestabilan aplikasi web.

Atas ialah kandungan terperinci Cara menggunakan PHP untuk melaksanakan fungsi kawalan kebenaran. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Analisis perbandingan teknologi pangkalan data Oracle dan DB2 Analisis perbandingan teknologi pangkalan data Oracle dan DB2 Mar 11, 2024 am 09:54 AM

Oracle dan DB2 ialah dua sistem pengurusan pangkalan data hubungan (RDBMS) yang terkenal yang digunakan secara meluas dalam aplikasi perusahaan. Dalam artikel ini, kami akan membandingkan dua teknologi pangkalan data Oracle dan DB2 dan menganalisisnya secara terperinci, termasuk analisis ciri, prestasi, fungsi dan contoh penggunaannya. 1. Gambaran keseluruhan teknologi pangkalan data Oracle Oracle ialah sistem pengurusan pangkalan data hubungan yang dibangunkan oleh Oracle Corporation dari Amerika Syarikat. Ia digunakan secara meluas dalam aplikasi peringkat perusahaan dan mempunyai prestasi dan kestabilan yang kukuh.

Pengesahan log masuk dan isu pengurusan hak pengguna yang dihadapi dalam pembangunan Vue Pengesahan log masuk dan isu pengurusan hak pengguna yang dihadapi dalam pembangunan Vue Oct 09, 2023 am 10:12 AM

Pengesahan log masuk dan isu pengurusan hak pengguna yang dihadapi dalam pembangunan Vue memerlukan contoh kod khusus Dalam proses pembangunan Vue, pengesahan log masuk dan pengurusan hak pengguna merupakan isu yang sangat penting. Apabila pengguna log masuk ke sistem, dia perlu disahkan, dan halaman serta fungsi yang boleh diakses pengguna ditentukan berdasarkan tahap kebenaran yang berbeza. Perkara berikut akan digabungkan dengan contoh kod khusus untuk memperkenalkan cara melaksanakan pengesahan log masuk dan pengurusan hak pengguna dalam Vue. Pengesahan log masuk Pengesahan log masuk adalah bahagian penting dalam memastikan keselamatan sistem. Dalam pembangunan bahagian hadapan, kita biasanya

Apa itu Discuz? Pengenalan kepada fungsi dan ciri Apa itu Discuz? Pengenalan kepada fungsi dan ciri Mar 03, 2024 am 10:18 AM

Mula-mula, mari kita terangkan apa itu Discuz. Discuz (dahulunya dikenali sebagai Discuz!) ialah perisian forum sumber terbuka yang dibangunkan oleh pembangun China dan sesuai untuk menubuhkan komuniti atau forum dalam talian. Ia menyediakan ciri yang kaya dan pilihan penyesuaian yang fleksibel, membolehkan pentadbir tapak web mencipta platform komuniti yang berkuasa dengan mudah. Populariti Discuz terutamanya disebabkan oleh kemudahan penggunaan, kestabilan dan fungsi sosial yang berkuasa, yang sesuai untuk tapak web dengan saiz dan keperluan yang berbeza. Seterusnya, mari kita lihat dengan lebih dekat fungsi dan ciri Discuz

Cara menggunakan Laravel untuk melaksanakan fungsi pengurusan hak pengguna Cara menggunakan Laravel untuk melaksanakan fungsi pengurusan hak pengguna Nov 02, 2023 pm 02:09 PM

Cara menggunakan Laravel untuk melaksanakan fungsi pengurusan hak pengguna Dengan pembangunan aplikasi web, pengurusan hak pengguna telah menjadi semakin penting dalam banyak projek. Laravel, sebagai rangka kerja PHP yang popular, menyediakan banyak alat dan fungsi yang berkuasa untuk mengendalikan pengurusan hak pengguna. Artikel ini akan memperkenalkan cara menggunakan Laravel untuk melaksanakan fungsi pengurusan hak pengguna dan menyediakan contoh kod khusus. Reka bentuk pangkalan data Pertama, kita perlu mereka bentuk model pangkalan data untuk menyimpan perhubungan antara pengguna, peranan dan kebenaran. Untuk memudahkan urusan kami akan buat

Tetapan keselamatan untuk senarai kawalan akses Nginx (ACL) Tetapan keselamatan untuk senarai kawalan akses Nginx (ACL) Jun 10, 2023 pm 09:55 PM

Dalam persekitaran Internet hari ini, keselamatan telah menjadi bahagian penting dalam mana-mana sistem. Nginx ialah salah satu pelayan web paling popular pada masa ini, dan senarai kawalan capaiannya (ACL) ialah alat penting untuk melindungi keselamatan laman web. ACL Nginx yang ditetapkan dengan baik boleh membantu anda melindungi pelayan dan tapak web anda daripada serangan. Artikel ini akan meneroka cara menyediakan senarai kawalan akses Nginx untuk memastikan keselamatan tapak web anda. Apakah Senarai Kawalan Akses Nginx (ACL)? ACL(AccessCon

Cara menggunakan PHP untuk membangunkan fungsi pengurusan hak pengguna yang mudah Cara menggunakan PHP untuk membangunkan fungsi pengurusan hak pengguna yang mudah Sep 25, 2023 pm 12:30 PM

Cara menggunakan PHP untuk membangunkan fungsi pengurusan hak pengguna yang ringkas Pengenalan: Dengan perkembangan Internet, fungsi pengurusan hak pengguna menjadi semakin penting. PHP, sebagai bahasa skrip sebelah pelayan yang popular, digunakan secara meluas untuk membangunkan laman web dinamik. Menggunakan PHP untuk membangunkan fungsi pengurusan hak pengguna yang mudah boleh membantu pentadbir tapak web mengawal hak akses pengguna secara fleksibel dan melindungi keselamatan tapak web. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi tersebut dan menyediakan contoh kod khusus. 1. Reka bentuk pangkalan data Pertama, kita perlu

Cara menggunakan PHP untuk melaksanakan kawalan kebenaran direktori dan penyulitan fail Cara menggunakan PHP untuk melaksanakan kawalan kebenaran direktori dan penyulitan fail Jun 25, 2023 pm 02:25 PM

Dengan pembangunan berterusan aplikasi web, kawalan kebenaran direktori dan penyulitan fail menjadi semakin penting untuk melindungi keselamatan data pengguna dan aplikasi. Sebagai bahasa skrip sebelah pelayan yang berkuasa, PHP boleh membantu kami melaksanakan kawalan kebenaran direktori dan penyulitan fail, menjadikan aplikasi kami lebih selamat dan boleh dipercayai. 1. Kawalan kebenaran direktori Dalam aplikasi web, kami selalunya perlu menyediakan pengguna dengan ruang storan fail peribadi untuk membolehkan mereka memuat naik dan memuat turun fail mereka sendiri. Untuk memastikan keselamatan fail, kita perlu

Cara menggunakan dedecms Cara menggunakan dedecms Apr 16, 2024 pm 12:15 PM

Dedecms ialah sistem CMS Cina sumber terbuka yang menyediakan pengurusan kandungan, sistem templat dan perlindungan keselamatan. Penggunaan khusus termasuk langkah-langkah berikut: 1. Pasang Dedecms. 2. Konfigurasi pangkalan data. 3. Log masuk ke antara muka pengurusan. 4. Cipta kandungan. 5. Sediakan templat. 6. Mengurus pengguna. 7. Menjaga sistem.

See all articles