2010-03-30 98 views
2

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

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

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

管理值存储在数据库中,并代表ADMIN_LEVEL

+0

出于好奇,你用什么代码检查当前用户是否是管理员?我同意Slokun,虽然你有PHPmyAdmin的原因。如果您愿意,您也可以像SequelPro http://www.sequelpro.com/那样从桌面管理您的数据库。我喜欢应用程序界面,这是您的另一种选择。 – dscher 2010-03-30 21:15:42

+0

感谢您的建议,我在 – Scarface 2010-03-30 21:25:27

回答

3

这是相当常见的网站有一个管理员节,但你必须确保,在每一页上,在插入,删除任何东西之前,用户是管理员,你正在做的事情。

但是,有一个让您输入显式SQL语句并执行它们的页面可能不是一个好主意。如果出现问题,您可能会错误地输入错误信息,并且确实会留下更大的安全漏洞。根据设置的不同,更容易访问系统管理员级命令。

更不用说轻松搞定自己的东西了。

直接SQL查询是为什么你有phpMyAdmin。管理员部分通常用作数据的GUI前端,就像常规用户的网站一样,但功能更多。例如能够列出所有用户,通过受控表单编辑用户数据,然后使用按钮更新或删除它们。

+0

以上发布了一个示例。该页面只是一个GUI来删除主题并禁止用户等。 – Scarface 2010-03-30 21:06:27

1

听起来很好的保护我。使用你的配置,是否有可能或容易破解你的网站,而不是运行phpMyAdmin的开发者电脑?可能不太可能。听起来像你做得对。如果你仍然担心你可以限制你的sql执行来选择在数据库危险方面相当无害的语句。

+0

感谢您的输入人,欣赏它。我现在感觉好多了。 – Scarface 2010-03-30 21:05:50