我试图保护一些带有角色的php页面。我在人们登录时使用其工作的代码,但如果他们知道链接并且没有登录他们就可以访问该页面,我无法理解原因。
任何人都可以帮助我吗?
我正在使用此代码来保护只有具有角色的用户的页面" admin"可以访问。
<?php
// Initialize the session
session_start();
// If session variable is not set it will redirect to login page
if(isset($_SESSION['username'])){if ($_SESSION['role']=='admin') {
} else {
header('location: index.php');
}
}
?>
答案 0 :(得分:1)
试试这个:
<?php
// Initialize the session
if(!isset($_SESSION)) {
session_start();
}
// If session variable is not set it will redirect to login page
if(empty($_SESSION['username'])) {
header('Location: index.php');
} else {
if ($_SESSION['role'] != 'admin') {
header('Location: index.php');
}
}
?>