php - 授权访问某些页面

标签 php mysql

对于我的网站,我有两个单独的用户 - 员工和客户,进而有两个单独的登录名,因此用户的电子邮件地址和密码不会授予员工访问权限。然而,尽管我的员工登录后,他们有权访问的页面对其他用户来说是不可见的,但如果用户找到 URL 并输入它,他们仍然可以查看该链接。我想更改此设置,以便当他们找到该 URL 并尝试查看它时,系统会提示他们登录。

我创建了一个 session 代码,我被告知要在我想要保密的每个页面的顶部放置一个,但是它不起作用,我想问这是否是错误的。

if(isset($_SESSION['staffId']))
$_SESSION['staffId']=$_SESSION['staffId']+1;
else
$_SESSION['staffId']=1;
echo "StaffId=". $_SESSION['staffId'];
session_destroy(); 

在我的数据库中,我将 StaffId 作为一列,将 StaffType 作为另一列,其中我将我的员工列为 S 类型以及他们的其他详细信息

感谢您的帮助!

最佳答案

即使您正在销毁 session ,流程也会继续,人们可以看到页面的其余部分。您可以执行以下操作:

当员工登录时设置$_SESSION['staffId']

当客户登录时设置$_SESSION['customerID']

对于仅限员工的页面使用:

if(!isset($_SESSION['staffId']))
    die("Access not allowed for customers");

但是对于客户页面,您仍然需要检查他们是否确实登录:

if(!isset($_SESSION['customerID']))
     die("Access not allowed for not logged in members");

关于php - 授权访问某些页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23109058/

相关文章:

PHP:$_GET 中的奇怪字符串编码

mysql SELECT WHERE 并再次选择

php - 如何从数组中获取对象(stdClass)

php - 如何在 Windows 开发环境的 PHP 中将 PDO 与 MSSQL 结合使用?

php - MySQL语法错误,使用PHP

MySQL如何调整这个查询

javascript - 如何在提交时重置/清除/刷新表单

java - 使用单例连接的 JDBC 行集

MYSQL - 最佳数据结构

java - 在 PHP 中运行 java ".class"