最土程序后台登陆原理分析

2011-01-29 09:45 来源:www.chinab4c.com 作者:熊斌

      最土程序的管理员后台登陆.其实也是有点复杂。我们在做最土程序二次开发的时候,必须注意到.最土程序后台登陆。必须是两个条件,首先必须是后台授予了管理员权限Y,其实必须在最土前台会员登陆.

  我们看到最土程序后台登陆的这段代码

     $login_admin = ZUser::GetLogin($_POST['username'], $_POST['password']);
 if ( !$login_admin || $login_admin['manager'] != 'Y' ) {
  Session::Set('error', '用户名密码不匹配!');
  redirect( WEB_ROOT . '/manage/login.php');
 }

    这个表明,不但要录入正确的帐户名称和密码,还必须是管理员.也就是说user表中的manage字段必须是"Y"

    我们分析最土程序的manage/index.php,里面的该代码need_manager();表示是判断管理员登陆和管理员权限的。

    function need_manager($super=false) {
 if ( ! is_manager() ) {
  redirect( WEB_ROOT . '/manage/login.php' );
 }
 if ( ! $super ) return true;
 if ( abs(intval($_SESSION['user_id'])) == 1 ) return true;
 return redirect( WEB_ROOT . '/manage/misc/index.php');
}

   首先,必须是管理员.is_manager()函数内容如下.

   function is_manager($super=false, $weak=false) {
 global $login_user;
 if ( $weak===false &&
   ( !$_SESSION['admin_id']
     || $_SESSION['admin_id'] != $login_user['id']) ) {
  return false;
 }
 if ( ! $super ) return ($login_user['manager'] == 'Y');
 return $login_user['id'] == 1;
}

   首先,必须是最土后台管理员密码和帐户输入正确,其次.管理员的id必须和会员id相等,也就是说。必须登陆最土会员中心,还必须登陆后台。两次登陆成功,才能进入最土后台进行操作。

 来源:http://www.chinab4c.com