[ Mini Kiebo ]
Server: Windows NT AKFAR_SERVER 10.0 build 26200 (Windows 10) AMD64
Path:
D:
/
xampp
/
htdocs
/
campus_repo
/
src
/
[
Home
]
File: utils.php
<?php class Utils { // Sanitasi output agar aman dari XSS public static function sanitize($str) { return htmlspecialchars($str, ENT_QUOTES, 'UTF-8'); } // Cek apakah user sudah login public static function requireLogin() { if (session_status() === PHP_SESSION_NONE) { session_start(); } if (!isset($_SESSION['user'])) { header("Location: login.php"); exit; } } // Cek apakah user punya role tertentu public static function requireRole($roles = []) { if (session_status() === PHP_SESSION_NONE) { session_start(); } if (!isset($_SESSION['user']) || !in_array($_SESSION['user']['role'], $roles)) { header("Location: index.php"); exit; } } // Redirect dengan pesan public static function redirectWithMessage($url, $message) { $_SESSION['flash'] = $message; header("Location: $url"); exit; } // Tampilkan pesan flash (sekali pakai) public static function flashMessage() { if (session_status() === PHP_SESSION_NONE) { session_start(); } if (isset($_SESSION['flash'])) { echo "<div style='background:#dff0d8; padding:10px; margin-bottom:10px;'>" . self::sanitize($_SESSION['flash']) . "</div>"; unset($_SESSION['flash']); } } }