使用PHP过滤具有用户安全级别的页面呈现,但禁用非特权用户的链接 背景
我正在开发一个web应用程序,它的用户按安全级别1-5进行分类。这应作为系统的主要访问级别,以允许用户查看(或不查看)敏感信息 在系统管理页面上,我有一个非常基本的页面布局。。。i、 e使用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 <
<?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;
}