2014-10-05 62 views
1

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

+2

它不会使它更安全有它分开,即使在管理部分这仍是通过隐藏的,这是不值钱的安全性的随机文件夹名称。如果视图非常不同,分割视图可能是有意义的,但如果它仅仅是一个链接,那么它听起来不像是会将普通视图文件混乱得太多。 – JimL 2014-10-05 12:28:00

+0

你的问题似乎更多关于可用性与安全性。如果真的避免了主应用程序中的管理代码,将其分开是有意义的。降低复杂性偶尔会有助于安全性。一个单独的文件夹通过两个因素授权也很容易防范(例如客户端ssl认证与登录表单一起使用)。 – mario 2014-10-05 12:40:30

回答

0

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

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

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

偏离课程有时候会有一些全新的东西在这三个级别之间不共享。在这种情况下,我创建一个单独的页面...

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

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

而且离当然,你需要使用会话来处理这个群体对你的用户登录到你的网站之后。

希望帮助...