PHP登录系统需要帮助

| 我是PHP的新手,没有PHP的经验。我正在尝试开发基于分层结构的登录系统。我考虑了实现该系统的各种方法,但我认为最好获得来自像您这样经验丰富的程序员的一些想法。我在下面解释了我的需求想法。 我需要创建3个具有不同权限的不同登录层,例如成员,员工,管理员。在这里,管理员应该拥有系统的几乎所有特权,成员应该拥有一些特权,工作人员需要拥有更多特权。给我一些实现我的系统的想法。好吧,它很复杂,我需要确保它的安全。 我应该为不同的用户使用不同的功能文件,还是可以使用具有不同特权的同一文件集。 谢谢。     
已邀请:
        一般而言,您需要做的是首先确定用户登录时的角色。通常,通过在数据库中查找用户来完成此操作。 然后,将其角色保存在会话中:php session 之后,当您要显示一些选项时,只有管理员才可以(例如)签入会话以确保他们具有所需的角色。您应在实际执行操作时再次检查角色,以防止攻击者通过伪造请求执行他们不应该执行的命令。 另外,所有这些操作都应该通过SSL连接(HTTPS)完成,以通过检查管理员的请求标头并使用该会话ID建立自己的请求,从而帮助防止攻击者劫持其他用户的会话。 (我也是PHP的新手,但这应该涵盖实现安全的基于角色的身份验证系统的大多数常规知识。希望对您有所帮助。)     
        对于不同的用户,不必具有不同的功能文件。有一个表格,其中包含有关谁是职员,成员和管理员的详细信息。并且在显示页面时,只需在显示每个项目之前检查每个项目的特权,并且在执行每个功能期间还要检查用户是否具有执行该功能所需的特权。     
        
class level
{
    const UNCLASSIFIED = 1;
    const CONTROLLED = 2;
    const RESTRICTED = 4;
    const SENSITIVE = 8;
    const CONFIDENTIAL = 16;
    const SECRET = 32;
    const TOPSECRET = 64;
    const CODEWORD = 128;

    const MEMBER = 63; // Everything up to SECRET.
    const STAFF = 127; // Everything up to TOPSECRET.
    const ADMIN = 255; // Everything.

    private $level = NULL;

    public function __get($property) { return $this->$property; }
    public function __set($property, $value) { return $this->$property = $value; }
}
使用按位操作,您可以为某些常见访问情况的人设置预定义级别。而当您某人需要访问一种类型的信息而又不需要另一种类型的信息时,您可以仅使用他们需要的访问级别来设置他们的帐户。     

要回复问题请先登录注册