0

对于具有版主权限的用户;当用户登录时,我是否查询以检查用户是版主,然后设置会话?例如,在带有版主选项的页面上

if($_SESSION['mod']==1) {
//moderator options
}  

或者,我是否在每个页面上都进行查询并检查用户是否被标记为版主?然后对于主持人选项,例如

if($moderatorfound==1) {
//moderator options
}

下面,我目前将用户名设置为 cookie 中的版主,但是当我学习 PHP 安全性时,这是不安全的;

    if($moderator=='1') {
    setcookie('username[3]',$moderator,time()+(60*60*24*365));  
    }

 if($_COOKIE['username'][3]==1) {
    //moderator options
    }   

执行此操作的安全方法是什么?示例会有所帮助。

4

2 回答 2

1

用户登录后,将他的信息存储在会话变量中。
无需检查每一页上的数据库。
cookie 不是保存敏感信息(例如特权)的好解决方案,因为它可能会被用户更改。

于 2012-07-01T08:53:13.837 回答
0

在 cookie 中,设置一个复杂的代码并将其保存在数据库中。如果复杂代码与用户名匹配,则允许访问。

于 2012-07-01T08:53:37.240 回答