CMS管理员作为config.php vs users表的一部分
我正在建立一个网站,作为作者,我希望能够在线登录并发布新文章。我希望其他用户也可以登录,这样他们就可以对我的帖子发表评论。然而,我不想在我的网站上有一个“站点管理员”链接,我也不想通过url访问它,比如说“www.example.com/Admin”。我不希望公共用户看到链接或访问管理员url 因此,我正在考虑将admin id添加为我的users表中的一个用户。对于该管理员id,我将有一个IS_ADMIN列设置为TRUE。所有其他用户都将有FALSE。在这种情况下,每当我以管理员id登录时,我的页面都会检查IS_admin是否为TRUE,然后只有我才有“Site admin”链接。如果其他用户登录,他们将看不到“站点管理员”链接,因为他们的IS_Admin为FALSE 一旦我以管理员身份登录,我的url中仍然有www.example.com/admin.php。但是其他人可能只是键入www.example.com/admin.phpCMS管理员作为config.php vs users表的一部分,php,Php,我正在建立一个网站,作为作者,我希望能够在线登录并发布新文章。我希望其他用户也可以登录,这样他们就可以对我的帖子发表评论。然而,我不想在我的网站上有一个“站点管理员”链接,我也不想通过url访问它,比如说“www.example.com/Admin”。我不希望公共用户看到链接或访问管理员url 因此,我正在考虑将admin id添加为我的users表中的一个用户。对于该管理员id,我将有一个IS_ADMIN列设置为TRUE。所有其他用户都将有FALSE。在这种情况下,每当我以管理员id登录时,我
这样做安全吗?我真的无法决定如何处理这件事。请给出建议。仅隐藏指向管理员页面的链接是不安全的-您正确地认为非管理员用户可以使用完整路径导航到该页面 在呈现admin.php时,您还应该检查用户的管理员身份,如果他们不是您,则重定向 然而,老实说,有太多的开源CMSE具有强大的功能和经过战斗测试的安全性,我倾向于认为您应该使用其中的一种
从头开始滚动安全性可能是有益的,但将其在线直播会要求您的服务器受到威胁。仅隐藏指向管理员页面的链接是不安全的-您可以正确地认为,非管理员用户可以使用完整路径导航到该页面 在呈现admin.php时,您还应该检查用户的管理员身份,如果他们不是您,则重定向 然而,老实说,有太多的开源CMSE具有强大的功能和经过战斗测试的安全性,我倾向于认为您应该使用其中的一种
从头开始滚动安全性可能很有帮助,但将其在线直播会要求您的服务器受到威胁。我将如何做到这一点,如下所示:
if (empty($_SESSION['admin']) || $_SESSION['admin'] != 1){
header("Location: index.php");
exit();
}
您可以使用$\u SESSION['auth']变量执行类似的操作,以防止未经身份验证的用户在您的站点上执行特定操作(或者将其作为上述if语句的附加要求)。我将如何执行此操作,如下所示:
if (empty($_SESSION['admin']) || $_SESSION['admin'] != 1){
header("Location: index.php");
exit();
}
您可以使用$_SESSION['auth']变量执行类似操作,以防止未经身份验证的用户在您的站点上执行特定操作(或将其作为上述if语句的附加要求)。首先是查询此项是否与管理员id相同,然后打开此页面,否则/elseif打开此页面,很抱歉,你的答案甚至与我的问题无关。你的意思是:“一旦我以管理员身份登录,我的url中仍然会有www.example.com/admin.php。但其他人可能只需键入www.example.com/admin.php。”首先是询问这是否与管理员id相同,然后打开此页面,否则/elseif打开此页面,很抱歉,你的答案甚至与我的问题无关。你说的“一旦我以管理员身份登录,我的url中仍然会有www.example.com/admin.php。但其他人可能只需键入www.example.com/admin.php。”这是什么意思很高兴我能帮忙。:)