Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[疑难] 哪位帮忙看一下我的后台管理页面哪里错误了?

[复制链接]
yuechengli 发表于 2009-9-29 08:35:36 | 显示全部楼层 |阅读模式
  1. <?php
  2. /*
  3.         [UCenter Home] (C) 2007-2008 Comsenz Inc.
  4.         $Id: admincp.php 13003 2009-08-05 06:46:06Z liguode $
  5. */

  6. define('IN_ADMINCP', TRUE);
  7. include_once('./common.php');
  8. include_once(S_ROOT.'./source/function_admincp.php');

  9. //是否关闭站点
  10. checkclose();

  11. //需要登录
  12. if(empty($_SGLOBAL['supe_uid'])) {
  13.         if($_SERVER['REQUEST_METHOD'] == 'GET') {
  14.                 ssetcookie('_refer', rawurlencode($_SERVER['REQUEST_URI']));
  15.         } else {
  16.                 ssetcookie('_refer', rawurlencode('admincp.php?ac='.$_GET['ac']));
  17.         }
  18.         showmessage('to_login', 'do.php?ac='.$_SCONFIG['login_action']);
  19. }

  20. $space = getspace($_SGLOBAL['supe_uid']);
  21. if(empty($space)) {
  22.         showmessage('space_does_not_exist');
  23. }

  24. if(checkperm('banvisit')) {
  25.         ckspacelog();
  26.         showmessage('you_do_not_have_permission_to_visit');
  27. }

  28. $isfounder = ckfounder($_SGLOBAL['supe_uid']);

  29. $acs = array(
  30.         array('index','config', 'privacy', 'ip', 'spam', 'hotuser', 'defaultuser', 'usergroup', 'credit', 'magic', 'magiclog', 'profield', 'ad', 'cplink', 'userapp'),
  31.         array('tag', 'mtag', 'event', 'report', 'space'),
  32.         array('cache', 'network', 'profilefield', 'eventclass', 'click', 'task', 'censor', 'stat', 'block', 'cron', 'app'),
  33.         array('feed', 'blog', 'album', 'pic', 'comment', 'thread', 'post', 'doing', 'share', 'poll')
  34. );
  35. if(!empty($_SC['allowedittpl']) && $isfounder) {
  36.         $acs[2][] = 'template';
  37. }
  38. if($isfounder) {
  39.         $acs[2][] = 'backup';
  40. }
  41. if(empty($_GET['ac']) || (!in_array($_GET['ac'], $acs[0]) && !in_array($_GET['ac'], $acs[1]) && !in_array($_GET['ac'], $acs[2]) && !in_array($_GET['ac'], $acs[3]))) {
  42.         $ac = 'index';
  43. } else {
  44.         $ac = $_GET['ac'];
  45. }

  46. //来源
  47. if(!preg_match("/admincp\.php/", $_SGLOBAL['refer'])) $_SGLOBAL['refer'] = "admincp.php?ac=$ac";

  48. //菜单激活
  49. $menuactive = array($ac => ' class="active"');

  50. //权限
  51. $menus = array();
  52. $needlogin = 0;

  53. $m_groupid = $_SGLOBAL['member']['groupid'];
  54. @include_once(S_ROOT.'./data/data_usergroup_'.$m_groupid.'.php');

  55. $megroup = $_SGLOBAL['usergroup'][$m_groupid];
  56. $megroup['manageuserapp'] = $megroup['manageapp'];

  57. for($i=0; $i<3; $i++) {
  58.         foreach ($acs[$i] as $value) {
  59.                 if($isfounder || $megroup['manageconfig'] || $megroup['manage'.$value]) {
  60.                         $needlogin = 1;
  61.                         $menus[$i][$value] = 1;
  62.                         $_SGLOBAL['usergroup'][$m_groupid]['manage'.$value] = 1;
  63.                 }
  64.         }
  65. }

  66. //管理空间
  67. if($isfounder || $megroup['managename'] || $megroup['managespacegroup'] || $megroup['managespaceinfo'] || $megroup['managespacecredit'] || $megroup['managespacenote'] || $megroup['managedelspace']) {
  68.         $needlogin = 1;
  69.         $menus[1]['space'] = 1;
  70. }

  71. //二次登录确认(半个小时)
  72. if($needlogin) {
  73.         $cpaccess = 0;
  74.         $query = $_SGLOBAL['db']->query("SELECT errorcount FROM ".tname('adminsession')." WHERE uid='$_SGLOBAL[supe_uid]' AND dateline+1800>='$_SGLOBAL[timestamp]'");
  75.         if($session = $_SGLOBAL['db']->fetch_array($query)) {
  76.                 if($session['errorcount'] == -1) {
  77.                         $_SGLOBAL['db']->query("UPDATE ".tname('adminsession')." SET dateline='$_SGLOBAL[timestamp]' WHERE uid='$_SGLOBAL[supe_uid]'");
  78.                         $cpaccess = 2;
  79.                 } elseif($session['errorcount'] <= 3) {
  80.                         $cpaccess = 1;
  81.                 }
  82.         } else {
  83.                 $_SGLOBAL['db']->query("DELETE FROM ".tname('adminsession')." WHERE uid='$_SGLOBAL[supe_uid]' OR dateline+1800<'$timestamp'");
  84.                 $_SGLOBAL['db']->query("INSERT INTO ".tname('adminsession')." (uid, ip, dateline, errorcount)
  85.                         VALUES ('$_SGLOBAL[supe_uid]', '".getonlineip()."', '$_SGLOBAL[timestamp]', '0')");
  86.                 $cpaccess = 1;
  87.         }
  88. } else {
  89.         $cpaccess = 2;
  90. }

  91. switch ($cpaccess) {
  92.         case '1'://可以登录
  93.                 if(submitcheck('loginsubmit')) {
  94.                         if(!$passport = getpassport($_SGLOBAL['supe_username'], $_POST['password'])) {
  95.                                 $_SGLOBAL['db']->query("UPDATE ".tname('adminsession')." SET errorcount=errorcount+1 WHERE uid='$_SGLOBAL[supe_uid]'");
  96.                                 cpmessage('enter_the_password_is_incorrect', 'admincp.php');
  97.                         } else {
  98.                                 $_SGLOBAL['db']->query("UPDATE ".tname('adminsession')." SET errorcount='-1' WHERE uid='$_SGLOBAL[supe_uid]'");
  99.                                 $refer = empty($_SCOOKIE['_refer'])?$_SGLOBAL['refer']:rawurldecode($_SCOOKIE['_refer']);
  100.                                 if(empty($refer) || preg_match("/(login)/i", $refer)) {
  101.                                         $refer = 'admincp.php';
  102.                                 }
  103.                                 ssetcookie('_refer', '');
  104.                                 showmessage('login_success', $refer, 0);
  105.                         }
  106.                 } else {
  107.                         if($_SERVER['REQUEST_METHOD'] == 'GET') {
  108.                                 ssetcookie('_refer', rawurlencode($_SERVER['REQUEST_URI']));
  109.                         } else {
  110.                                 ssetcookie('_refer', rawurlencode('admincp.php?ac='.$_GET['ac']));
  111.                         }
  112.                         $actives = array('advance' => ' class="active"');
  113.                         include template('cp_advance');
  114.                         exit();
  115.                 }
  116.                 break;
  117.         case '2'://登录成功
  118.                 break;
  119.         default://尝试次数太多禁止登录
  120.                 cpmessage('excessive_number_of_attempts_to_sign');
  121.                 break;
  122. }

  123. if($ac == 'defaultuser') {
  124.         $acfile = 'hotuser';
  125. } else {
  126.         $acfile = $ac;
  127. }

  128. //取消翻页限制
  129. $_SCONFIG['maxpage'] = 0;

  130. //log
  131. admincp_log();

  132. //去掉广告
  133. $_SGLOBAL['ad'] = array();

  134. include_once(S_ROOT.'./admin/admincp_'.$acfile.'.php');
  135. include_once template("admin/tpl/$acfile");

  136. ?>
复制代码
瓜子壳壳 发表于 2009-9-29 08:48:36 | 显示全部楼层
你直接拿原包覆盖下咯
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-18 10:33 , Processed in 0.040592 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表