我读了很多与我要问的问题非常相似的帖子,但我只是想确保没有一个更复杂的方法来做到这一点.任何反馈非常感谢.
我想创建一个机制来检查登录的用户是否可以访问当前被调用的php脚本.如果是,脚本将继续;如果没有,脚本只会失败,使用像死(“你没有访问”).
我想出了两种完成这个的方法:
(请假定我的会话编码/工作正常 – 即我调用session_start(),正确设置会话变量等)
>首先定义全局变量,然后在所需的头文件中检查全局变量.例如:
current_executing_script.php的内容:
// the role the logged in user must have to continue on
$roleNeedToAccessThisFile = 'r';
require 'checkRole.php''
checkRole.php的内容:
if ($_SESSION['user_role'] != $roleNeedToAccessThisFile) die('no access for you');
>在头文件中定义一个函数,并在包含/要求之后立即调用该函数:
checkRole.php的内容:
function checkRole($roleTheUserNeedsToAccessTheFile) {
return ($_SESSION['user_role'] == $roleTheUserNeedsToAccessTheFile);
}
current_executing_script.php的内容:
require 'checkRole.php';
checkRole('r') or die('no access for you');
我想知道是否有一种方法基本上只是将参数传递给checkRole.php作为include或require构造的一部分?
提前致谢.