Δικαιώματα Πρόσβασης σε PHP
Συνήθως σε ένα site δεν υπάρχει ένας τύπος χρηστών, αλλά πολλοί και όλοι έχουν διαφορετικά δικαιώματα. Για παράδειγμα, μπορείτε να έχετε κανονικούς χρήστες και διαχειριστές. Οι διαχειριστές θα έχουν περισσότερα δικαιώματα από τους κανονικούς χρήστες.
Πώς υλοποιείται αυτό: θα δημιουργήσουμε στον
πίνακα χρηστών ένα ακόμη πεδίο, ας το ονομάσουμε
status και για κάθε χρήστη
θα αποθηκεύουμε την κατάστασή του: ας είναι για τους διαχειριστές
η λέξη 'admin', ενώ για τους κανονικούς χρήστες
- η λέξη 'user'.
Τώρα κατά τη σύνδεση του χρήστη στο $_SESSION['status']
θα γράψουμε την κατάσταση του χρήστη από τη βάση δεδομένων:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
$_SESSION['status'] = $user['status']; // καταγράφουμε την κατάσταση
}
?>
Ας υποθέσουμε τώρα ότι στο site μας υπάρχει μια σελίδα στην οποία έχουν πρόσβαση μόνο οι διαχειριστές. Ας φροντίσουμε ώστε μόνο οι διαχειριστές να βλέπουν το περιεχόμενο αυτής της σελίδας:
<?php
if (!empty($_SESSION['auth']) and $_SESSION['status'] === 'admin') {
// θα εμφανίσουμε το περιεχόμενο της σελίδας μόνο στους διαχειριστές
}
?>