
[英]is isset($_SESSION['admin']) a dangerous way to grant access?
[英]Is it dangerous to keep an admin page to administer your database?
大家好,我有一个管理员页面,可在提交任何查询之前检查您是否为管理员,如果您不是管理员,则包含指向索引页面的标题,但是我担心要保护该页面。 我担心有人可能会破坏它。 有没有人建议保护这样的页面,如果没有,我应该只是通过phpmyadmin手动管理我的数据库并一起删除该页面吗?
例
function isAdmin(){
return ($this->userlevel == ADMIN_LEVEL ||
$this->username == ADMIN_NAME);
}
if(!$session->isAdmin()){
header("Location: ../index.php");
return;
}
管理员值存储在数据库中,代表ADMIN_LEVEL
网站通常具有管理员部分,但是您必须在每个页面上确保在插入,删除任何内容之前,要确保用户是管理员,这是您正在做的事情。
但是,拥有一个页面让您输入明确的SQL语句并执行它们可能不是一个好主意。 您可能很容易输入错误,如果出现错误,它确实会留下更大的安全漏洞。 视设置而定,更大,更易于访问系统管理员级别的命令。
更不用说弄乱自己了。
直接SQL查询就是为什么要使用phpMyAdmin。 管理部分通常旨在作为数据的GUI前端,就像普通用户的网站一样,但是功能范围更大。 诸如能够列出所有用户,通过受控表格编辑用户数据,然后使用按钮更新或删除它们的事情。
听起来对我来说保护得很好。 照原样进行配置,是否有可能或更容易地入侵您的站点,而不是运行phpMyAdmin的开发人员计算机? 可能不是很多。 听起来您做的一切正确。 如果您仍然担心,可以将sql的执行限制为选择在数据库危险方面无害的语句。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.