PHP'de Erişim İzinleri
Bir web sitesinde genellikle bir değil, birkaç kullanıcı türü vardır ve hepsinin farklı izinleri vardır. Örneğin, sıradan kullanıcılarınız ve yöneticileriniz olabilir. Yöneticiler, sıradan kullanıcılara göre daha fazla yetkiye sahip olacaktır.
Bunun nasıl uygulandığı: Kullanıcılar tablosunda
başka bir alan oluşturalım, ona
status adını verelim ve her kullanıcı için
durumunu saklayalım: yöneticiler için
'admin' kelimesi, sıradan kullanıcılar için
ise - 'user' kelimesi olsun.
Şimdi kullanıcı oturum açtığında, $_SESSION['status']
içine veritabanındaki kullanıcı durumunu yazalım:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
$_SESSION['status'] = $user['status']; // durumu yazıyoruz
}
?>
Şimdi diyelim ki sitede, yalnızca yöneticilerin erişim hakkına sahip olduğu bir sayfa var. Bu sayfanın içeriğini sadece yöneticilerin görmesini sağlayalım:
<?php
if (!empty($_SESSION['auth']) and $_SESSION['status'] === 'admin') {
// sayfa içeriğini sadece yöneticilere göster
}
?>