保持管理页面管理数据库是否危险?

时间:2010-03-30 20:48:06

标签: php mysql security

嘿伙计我有一个管理页面,在提交任何查询之前检查你是否是管理员,并且如果你不是管理员,则包含索引页面的标题,但我担心保护页面。我担心有人可能会用它破坏我的数据库。有没有人有任何建议来保护这样的页面,如果没有,我应该通过phpmyadmin手动管理我的数据库并一起删除页面吗?

实施例

function isAdmin(){
      return ($this->userlevel == ADMIN_LEVEL ||
              $this->username  == ADMIN_NAME);
   }

 if(!$session->isAdmin()){
         header("Location: ../index.php");
         return;
      }

admin值存储在数据库中,表示ADMIN_LEVEL

2 个答案:

答案 0 :(得分:3)

网站拥有管理员部分是相当普遍的,但您必须确保在每个页面上插入,删除等任何内容之前,用户是管理员,您正在做的事情。

但是,拥有一个允许您输入显式SQL语句并执行它们的页面可能不是一个好主意。您可能很容易输入错误的内容,如果出现问题,它确实会留下更大的安全漏洞。更大,更容易访问系统管理员级命令,具体取决于设置。

更不用说自己弄乱的事情了。

直接SQL查询是您拥有phpMyAdmin的原因。管理员部分通常旨在成为您数据的GUI前端,就像普通用户的网站一样,但具有更大的能力范围。诸如能够列出所有用户,通过受控表单编辑用户数据,然后使用按钮更新或删除它们。

答案 1 :(得分:1)

对我而言听起来很受保护。使用您的配置,是否更容易或很容易破解您的网站,而不是运行phpMyAdmin的开发者?可能不是更有可能。听起来你做的一切都是正确的。如果您仍然担心,您可以限制执行sql以选择在db危险方面相当无害的语句。