สิทธิการเข้าถึงใน PHP
บ่อยครั้งที่เว็บไซต์ไม่ได้มีผู้ใช้เพียงประเภทเดียว แต่มีหลายประเภทและพวกเขาทุกคนมีสิทธิที่แตกต่างกัน ตัวอย่างเช่น คุณอาจมีผู้ใช้ทั่วไป และผู้ดูแลระบบ ผู้ดูแลระบบจะมีสิทธิ์มากกว่า กว่าผู้ใช้ทั่วไป
วิธีที่สิ่งนี้ถูกนำไปใช้: สร้างขึ้นมาใน
ตารางผู้ใช้มีอีกฟิลด์หนึ่ง เรียกมันว่า
status และสำหรับแต่ละผู้ใช้
เราจะเก็บสถานะของเขา: สำหรับผู้ดูแลระบบ
ให้เป็นคำว่า 'admin' และสำหรับผู้ใช้ทั่วไป
- คำว่า 'user'
ตอนนี้เมื่อผู้ใช้เข้าสู่ระบบใน $_SESSION['status']
เราจะเขียนสถานะของผู้ใช้จากฐานข้อมูล:
<?php
if (password_verify($_POST['password'], $hash)) {
$_SESSION['auth'] = true;
$_SESSION['id'] = $user['id'];
$_SESSION['status'] = $user['status']; // บันทึกสถานะ
}
?>
สมมติว่าตอนนี้บนเว็บไซต์ของเรามีบางหน้า ที่อนุญาตให้เข้าถึงได้เฉพาะผู้ดูแลระบบเท่านั้น มาจัดการให้มีเพียงผู้ดูแลระบบเท่านั้นที่เห็นเนื้อหา ของหน้านี้:
<?php
if (!empty($_SESSION['auth']) and $_SESSION['status'] === 'admin') {
// แสดงเนื้อหาหน้าเฉพาะผู้ดูแลระบบ
}
?>