Kebenaran Akses pada PHP
Selalunya di laman web bukan hanya satu jenis pengguna, tetapi beberapa dan kesemuanya mempunyai kebenaran yang berbeza. Sebagai contoh, anda mungkin mempunyai pengguna biasa dan admin. Admin akan mempunyai lebih banyak kebenaran, berbanding pengguna biasa.
Bagaimana ini dilaksanakan: kita akan buat dalam
jadual pengguna satu medan lagi, kita namakan
ia status dan untuk setiap pengguna
kita akan simpan statusnya: untuk administrator
kata 'admin', dan untuk pengguna biasa
- kata 'user'.
Sekarang semasa pengesahan pengguna dalam $_SESSION['status']
kita tulis status pengguna dari pangkalan data:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
$_SESSION['status'] = $user['status']; // tulis status
}
?>
Katakan sekarang di laman web kita ada beberapa halaman, yang hanya boleh diakses oleh admin. Kita buat supaya hanya admin yang boleh melihat kandungan halaman ini:
<?php
if (!empty($_SESSION['auth']) and $_SESSION['status'] === 'admin') {
// tunjukkan kandungan halaman hanya untuk admin
}
?>