


Cara menggunakan PHP untuk melaksanakan fungsi kawalan kebenaran
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:
- 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>
- 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>
- Halaman log keluar (logout.php)
<?php session_start(); // 销毁Session,用户退出登录 session_destroy(); header('Location: login.php'); exit; ?>
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:
- 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;
- 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>
- 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>
- Keluar dari halaman log masuk (log keluar.php)
<?php session_start(); // 销毁Session,用户退出登录 session_destroy(); header('Location: login.php'); exit; ?>
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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 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

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 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

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 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

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

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.
