更好的管理安全

时间:2014-10-05 12:24:40

标签: php mysql session login

我尝试制作我的第一个CMS,我对安全性有所了解。我现在有分隔管理区和公共区域。我的管理区域位于文件夹" admin"我的公共区域位于文件夹" public"。两个文件夹都在我的文件夹" cms"中。在两个地图中都是例如:文件名为" index.php"。内容是相同的,但在管理员的index.php中有更多的功能,例如:在管理员的导航中,我有注销和设置选项。如果我从这两个文件夹中创建一个名为" public"以及" index.php"连接到一个文件并使用$ _SESSION控制它以添加其他功能导航? 示例:如果是管理员登录,则会话将显示导航的设置和注销功能。当用户退出时,他不会在导航中看到设置和注销特征,因为它只会在用户设置会话时显示。 那么,如果我将所有内容都放在一个文件中,那么拥有分离的管理员和公共文件夹会更好,更安全吗?

1 个答案:

答案 0 :(得分:0)

在我的cms中,我为公众,用户和管理员使用相同的页面。

不同之处在于显示基于该组的一些额外功能。

即。对于普通访问者(公共)用户,除了已发布的内容外,看不到。但如果访客登录他的帐户,那么他会在这里和那里看到一些额外的和平(即个人资料,个人信息,更改电子邮件/密码)。另一方面,管理员也有自己的额外功能,例如控制用户,消息等。

当然有时会有一些全新的东西在这3个级别的特权之间没有共享。在这种情况下,我为他们创建了一个单独的页面......

这里最重要的事情是检查用户组,并根据该组显示此部分并隐藏该部分。

类似

if user group == 1 // an admin
{
display admin_sidebar.php
}
elseif user group == 2 // a member
{
display member_profile.php link
}

当然,当用户登录您的网站后,您需要使用会话来处理此群组。

希望有所帮助...