限制来自非管理员用户(PHP和MySQL)的页面
我正在开发一个需要多种用户类型的网站。我已经能够在用户登录后根据用户名单/类型将用户类型重定向到不同的敬意。但是,我需要将网站的管理部分限制为管理员角色类型。我正在根据用户类型/角色将“1”或“2”存储到数据库中。我正在使用“session_start”和“session_is_registered”检查用户信息。我需要在此代码中添加什么以限制角色类型为“1”的用户查看页面限制来自非管理员用户(PHP和MySQL)的页面,php,mysql,database,Php,Mysql,Database,我正在开发一个需要多种用户类型的网站。我已经能够在用户登录后根据用户名单/类型将用户类型重定向到不同的敬意。但是,我需要将网站的管理部分限制为管理员角色类型。我正在根据用户类型/角色将“1”或“2”存储到数据库中。我正在使用“session_start”和“session_is_registered”检查用户信息。我需要在此代码中添加什么以限制角色类型为“1”的用户查看页面 session_start(); if(!session_is_registered(username)){ header
session_start();
if(!session_is_registered(username)){
header('Location: ../admin/index.php');
}
只嵌套您的if语句。如果他们是管理员,请将他们定向到管理员页面,否则将他们发送到其他地方。只嵌套您的if语句。如果他们是管理员,请将他们定向到管理员页面,否则将他们发送到其他地方。将用户角色存储在会话变量中
$_SESSION["role"]=1;
或
取决于存储的用户信息
然后,在检查权限时,只需检查以下变量:
if($_SESSION["role"]==2){
header('Location: ../admin/index.php');
} else {
echo "you need the admin role to view this page!";
}
另一个建议:
如果用户没有管理员角色,最好检查../admin/index.php中的权限并重定向回默认页面。否则,如果用户知道URL,则可以直接浏览../admin/index.php。将用户角色存储在会话变量中
$_SESSION["role"]=1;
或
取决于存储的用户信息
然后,在检查权限时,只需检查以下变量:
if($_SESSION["role"]==2){
header('Location: ../admin/index.php');
} else {
echo "you need the admin role to view this page!";
}
另一个建议:
如果用户没有管理员角色,最好检查../admin/index.php中的权限并重定向回默认页面。否则,如果用户知道URL,则可以直接浏览../admin/index.php。
会话已注册()
is。您可以在数据库字段中使用枚举类型,并使用require-ing一个php文件检查角色session\u is\u registed()
is。您可以在数据库字段中使用枚举类型,并使用require-ing一个php文件检查角色。如果您有输入错误;$\u session[“role”}=2;
应该是$\u session[“role”]=2;
。请注意]
。因此,我仍然有问题。我需要对非管理员的任何人隐藏所有管理员页面。所有用户都必须登录到该网站。我有重定向设置,因此“角色类型”为1的人可以进入管理员页面,“2”的人可以进入主页。我需要限制“2”访问管理员页面。您有一个打字错误;$\u会话[“角色”“}=2;
应该是$\u SESSION[“role”]=2;
。请注意]
。因此我仍然存在问题。我需要对非管理员的任何人隐藏所有管理员页面。所有用户都必须登录到该站点。我有重定向设置,因此“roletype”为1的人都可以访问管理员和“2”转到主页。我需要将“2”的访问权限限制为管理员页面。