Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP过滤具有用户安全级别的页面呈现,但禁用非特权用户的链接 背景_Php_Html_Security_User Interface_Mysqli - Fatal编程技术网

使用PHP过滤具有用户安全级别的页面呈现,但禁用非特权用户的链接 背景

使用PHP过滤具有用户安全级别的页面呈现,但禁用非特权用户的链接 背景,php,html,security,user-interface,mysqli,Php,Html,Security,User Interface,Mysqli,我正在开发一个web应用程序,它的用户按安全级别1-5进行分类。这应作为系统的主要访问级别,以允许用户查看(或不查看)敏感信息 在系统管理页面上,我有一个非常基本的页面布局。。。i、 e <?php if ($seclvl > 4) { ?> // basic user code <? } elseif ($seclvl > 1 && $seclvlv <= 4){ ?> /// elevated privileges code <

我正在开发一个web应用程序,它的用户按安全级别1-5进行分类。这应作为系统的主要访问级别,以允许用户查看(或不查看)敏感信息

在系统管理页面上,我有一个非常基本的页面布局。。。i、 e

<?php if ($seclvl > 4) { ?>
// basic user code
<? } elseif ($seclvl > 1 && $seclvlv <= 4){ ?>
/// elevated privileges code
<? } elseif ($seclvl == 1) { ?>
// super administrator code
<? } else { ?>
//fallback if no security flag - error msg
<? } ?>
此外,现在我正在编写这段代码(还没有经过测试,但理论已经存在)。。。我在想我的短标记嵌套的if语句实际上不起作用。。。欢迎评论


我真的不想为每个friggin链接/按钮指定安全访问条件。

您可以编写一个函数使其更简单,或者在数组()中使用
,如下所示:

<?php

if (in_array($seclvl, [2,3,4])) {  // seclvl is between 1 and 5
    // do something
}
<?php

is_between($seclvl, $min = 1, $max = 5)) {
    if ($seclvl >= $min && $seclvl <= $max)
       return true;    
    return false;
}

我通常的方法是将权限设置为2d。a'la@scott我很欣赏这个输入,但不幸的是,我正在用纯html、php和mysql构建这个系统。我不认为我能在这个时候实现一个mariaDB插件,因为这个项目已经过期很久了……实际上这是postgresql,但我理解。
<?php

is_between($seclvl, $min = 1, $max = 5)) {
    if ($seclvl >= $min && $seclvl <= $max)
       return true;    
    return false;
}