因为我是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");
}
?>