我开发了一个具有不同用户登录的应用程序,并且它们的类别具有不同的权限。问题是当一个人登录然后他输入了被拒绝页面的URL他有权访问...! 我应该做的是如此危险。 我写了这样的代码:
<?php
session_start();
if(!isset($_SESSION['username']) || !isset($_SESSION['login_type']) )
{
header("Location:logout.php");
exit;
}
?>
答案 0 :(得分:1)
您在该代码中所做的只是检查SESSION数组中是否存在username
和login_type
。应为任何登录用户设置这些。
现在您需要更改代码以询问此用户是什么login_type
!
例如:
<?php
session_start();
if(!isset($_SESSION['username']) || !isset($_SESSION['login_type']) )
{
header("Location:logout.php");
exit;
}
if ( $_SESSION['login_type'] != 'ADMIN' ) {
// This is an admin only page.
header("Location: you-are-not-allowed.php");
exit;
}
?>