这样安全吗?用户级管理

时间:2014-04-07 11:14:38

标签: php security

在初始化SESSION数据并定义变量$ auth_level之后,我在所有页面上使用以下代码。

我用它来决定向不同级别的用户展示什么。

<?php
    if($auth_level == 'basic'){
        // auth_level basic
        if (!isset($_SESSION['username'])) {
            header('Location: login.php');
        }
    } else if ($auth_level == 'admin'){
        // auth level admin
        if (!isset($_SESSION['username']) || $_SESSION['role'] != 2) {
            header('Location: login.php');
        }
    } else {
        // auth level admin assumed for security
        if (!isset($_SESSION['username']) || $_SESSION['role'] != 2) {
            header('Location: login.php');
        }
    }
?>

1 个答案:

答案 0 :(得分:1)

这个可能会有所帮助:

https://stackoverflow.com/a/1225668/1437605

很快说:你应该在$ _SESSION中存储一些更多的信息来区分客户端(比如ip等),否则,我可以用你的sessionId获取你的cookie,并且可以根据你如何获得&#39;来正确地进行身份验证。用户名&#39;和#角色&#39;值。