【发布时间】:2011-04-12 06:27:26
【问题描述】:
我已经阅读了很多与我要问的问题非常相似的帖子,但我只是想确定没有更复杂的方法可以做到这一点。非常感谢任何反馈。
我想创建一种机制来检查登录用户是否有权访问当前正在调用的 php 脚本。如果是这样,脚本将继续;如果没有,脚本就会使用die('you have no access') 之类的东西失败。
我想出了两种方法来实现这一点:
(请假设我的会话内容已编码/工作正常 - 即我调用 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 构造的一部分?
提前致谢。
【问题讨论】:
标签: php parameters include require