阻止未经授权的用户访问特定页面(PHP)


Block unauthorized user from access specific pages (PHP)

因为我是PHP新手。我有一个关于如何阻止未经授权的用户访问特定页面的问题。根据我的作业,我必须编写一个函数来阻止某些类型的用户。

假设

1.登录的普通用户的授权号为"NULL"

2.普通员工的授权号为"1"

3.授权员工的授权号为"2"

4.部门经理的授权号为"3"

5.人力资源经理的授权号为"4"

到目前为止,这是我在这个页面中的代码,我不知道我必须添加什么类型的代码以及在这个页面的哪里。

<?php
session_start();
if (!isset($_SESSION['user']))
header("Location: login.php");  
?>
<div class="clearfix colelem" id="u4470"><!-- group -->
 <div class="clearfix grpelem" id="u1609-4"><!-- content -->
  <p><span id="u1609">Recruiting</span></p>
 </div>
</div>
<div class="clearfix colelem" id="pu5139"><!-- group -->
 <div class="clearfix grpelem" id="u5139"><!-- group -->
  <a class="nonblock nontext clip_frame grpelem" id="u4533" href="department-manager-tab.php"><!-- image --><img class="block" id="u4533_img" src="images/pasted%20image%202650x1756.jpg" alt="" width="510" height="341"/></a>
  <a class="nonblock nontext clearfix grpelem" id="u4555-4" href="department-manager-tab.html"><!-- content --><p>Proceed as Department Manager</p></a>
 </div>
 <div class="clearfix grpelem" id="u5140"><!-- group -->
  <a class="nonblock nontext clip_frame grpelem" id="u4547" href="hr-tab.php"><!-- image --><img class="block" id="u4547_img" src="images/how-to-hire-a-great-social-media-manager.jpg" alt="" width="510" height="341"/></a>
  <a class="nonblock nontext clearfix grpelem" id="u4556-4" href="hr-tab.html"><!-- content --><p>Proceed as HR Staff</p></a>
 </div>
</div>

类型1("NULL")和类型2(授权号为"1")的用户应该无法访问此页面。

我该怎么做?提前谢谢。

Ps。代码可能有点乱,因为代码是从adobemuse导出的Ps2.如果有一些东西本应该有帮助,但没有标记,他们也是受欢迎的。

您可以在脚本的开头添加一个条件。

假设授权级别是会话变量,您可以在代码中添加以下内容;

<?php
if($_SESSION['authLevel'] == NULL || $_SESSION['authLevel'] == 1) {
    // Do something (A redirect for example)
    exit;
}
?>

更多信息可以在这里找到;

会话:http://php.net/manual/en/book.session.php

如果构造:http://php.net/manual/en/control-structures.if.php

比较运算符:http://php.net/manual/en/language.operators.comparison.php

也许是类似的东西

<?php
session_start();
//Permission groups allowed on page
$access = array(1, 2, 3, 4);
if (!isset($_SESSION['user']))
    header("Location: login.php");
}
if(in_array($_SESSION['AuthLevel'], $access) == false){
    //Redirect to universally accessed page
    header("Location: index.php"); 
}
?>