【问题标题】:How to prevent user to access admin page如何阻止用户访问管理页面
【发布时间】:2016-09-19 07:48:03
【问题描述】:

我有一些页面,用户存储在会话变量中。但是对于用户来说,可以访问每个页面。

$sql ="SELECT * FROM `pannes` WHERE `pannes`.`idDirecteur` = (
        select `idDirecteur` from `directeurs` where `directeurs`.`nomDirecteur` = '".$userName."'
    ) order by `pannes`.`date` desc,`pannes`.`heur` desc limit $page1,14 "; 
$query = mysql_query($sql);

【问题讨论】:

  • 将来(或者甚至可能编辑此内容)请使用代码块将代码作为文本添加,而不是添加图像。
  • 一个简单的解决方法可能是将用户角色添加到用户会话并在管理页面上检查。 if (!isset($_SESSION['user']) || $_SESSION['user']['role'] !== 'admin') { /* redirect to login/frontpage/401 permission denied/somewhere */}

标签: php html session


【解决方案1】:

您可以为每个用户创建一个会话并在每个页面上检查该会话:

第 1 页:

<?php if(!isset($_SESSION['user1'])) die('You Dont Have Access'); ?>

第 2 页:

<?php if(!isset($_SESSION['user2'])) die('You Dont Have Access'); ?>

第 3 页:

<?php if(!isset($_SESSION['user3'])) die('You Dont Have Access'); ?>

并在登录页面为每种用户类型定义不同的会话。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-01
    • 2014-04-06
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 2012-01-20
    • 2016-04-11
    • 2019-02-02
    相关资源
    最近更新 更多