首 页文章中心黑客工具黑吧学院技术论坛安全培训免费频道最近更新瑞星在线杀毒
黑吧百度繁體中文
设为首页
加入收藏
发布教程

 

您当前的位置:-黑客动画吧 -> 文章中心 -> 入侵检测 -> 编程代码 -> 文章内容 退出登录 用户管理
分类导航
热门文章
· 如何封别人QQ
· 充QQ币的疯狂——宽...
· 免费得QB
· 400秒远程攻破你的Q...
· [图文] QQ免费建400个群
· [组图] 给你一台永远不关机...
· [注意] QQ宠物砸蛋秘诀
· 再次有机会免费获得...
· 想的挂QQvip的进
· 在QQ中将自己从对方...
相关文章
· 开机吓人的程...
· 微软GDI+图片...
· 从实战角度讨...
· 对抗启发式代...
· 黑客攻防:网...
· 合理配置服务...
· 黑客最喜欢的...
· 识别常见Web漏...
破解 Discuz! 4.0.0 20051001 修正版
作者:TKZ  来源:转载  发布时间:2005-11-3 8:54:15  发布人:noangel

减小字体 增大字体

收藏到ViVi】【收藏到YouNote】【收藏此页到365Key】【 收藏此页到bbmao

来自落伍兄弟TKZ

打开

include\validate.class.php

替换:

〈?php
class licensestuff
{
  var $data = ’’;
  var $key = array ();
  var $env = array ();
  function readfile ()
  {
  if ($fp = fopen ((DISCUZ_ROOT.’./discuz_license.php’), ’r’))
  {
  $this-〉data = fread ($fp, 9999);
  fclose ($fp);
  }

  }

  function initialize ()
  {
  $this-〉readfile ();
  if ($this-〉data)
  {
  foreach (explode (’
’, $this-〉data) as $string)
  {
  if (strpos ($string, ’ = ’))
  {
  eval (preg_replace (((((((((((((’’.’/^(’).’[’).’a-z0-9’).’\\-’).’]’).’+)’).’\\s’).’\\=’).’\\s’).’(.+?)’).’$’).’/i’), ’$this-〉key[\’\\1\’] = \’\\2\’;’, trim (str_replace (’\’’, ’\\\’’, $string))));
  }
  else
  {
  if (preg_match (’/\\〈\\?\’.+\’\\?\\〉/’, $string))
  {
  $this-〉key[’Validation-code’] = $this-〉decrypt (preg_replace (’/\\〈\\?\’(.+)\’\\?\\〉/’, ’\\1’, $string), ’I love my father, mother, my Grace, and my self, I am working hard’, ’##@Crossday Studio@##’);
  }
  }
  }

  $this-〉getenvinfo ();
  return 1;
  }
/* else
  {
  if (((strtoupper (substr (PHP_OS, 0, 3)) == ’WIN’) AND in_array ($GLOBALS[’_SERVER’][’HTTP_HOST’], array (’localhost’, ’127.0.0.1’))))
  {
  return 2;
  }
  else
  {
  return 0;
  }
  }*/

  }

  function checkinfo ()
  {
  if ((substr ($this-〉key[’Validation-code’], 16, 8) == substr (md5 (preg_replace (((((((((((((’’.’/^(.+?)’).’\\s’).’*’).’\\〈’).’\\?’).’\\\’’).’.+’).’\\\’’).’\\?’).’\\〉’).’$’).’/s’), ’\\1’, $this-〉data)), 0, 8)))
  {
  return TRUE;
  }
  else
  {
  return TRUE;
  }

  }

  function checkdate ()
  {
  if ((!$this-〉key[’License-expires’] OR (time () 〈 strtotime ($this-〉key[’License-expires’]))))
  {
  return TRUE;
  }
  else
  {
  return TRUE;
  }

  }

  function checkkey ()
  {
  if ((substr ($this-〉key[’Validation-code’], 8, 8) == substr (md5 ((((((((($this-〉env[’os’].’|’).$this-〉env[’ip’]).’|’).$this-〉env[’sapi’]).’|’).$this-〉env[’cpu’]).’|’).$this-〉env[’name’])), 0, 8)))
  {
  return TRUE;
  }
  else
  {
  return TRUE;
  }

  }

  function checkhostpath ()
  {
  if ((((substr ($this-〉key[’Validation-code’], 24, 6) == ((dechex (ord (’d’)).dechex (ord (’z’))).dechex (ord (’k’)))) OR (substr ($this-〉key[’Validation-code’], 0, 8) == substr (md5 ($this-〉env[’host’]), 0, 8))) OR (substr ($this-〉key[’Validation-code’], 24, 8) == substr (md5 ($this-〉env[’path’]), 0, 8))))
  {
  return TRUE;
  }
  else
  {
  return TRUE;
  }

  }

  function getenvinfo ()
  {
  global $_SERVER;
  global $_POST;
  global $_ENV;
  $env[’time’] = gmdate (’d-M-Y’, time ());
  $env[’os’] = PHP_OS;
  $env[’ip’] = getenv (’SERVER_ADDR’);
  $env[’sapi’] = php_sapi_name ();
  $env[’host’] = (getenv (’HTTP_HOST’) ? getenv (’HTTP_HOST’) : $_SERVER[’HTTP_HOST’]);
// $env[’path’] = dirname ((’validate.class.php.LkuQHr’ ? dirname (’validate.class.php.LkuQHr’) : getenv (’script_FILENAME’)));//********
  $env[’cpu’] = (($_ENV[’PROCESSOR_IDENTIFIER’].’/’).$_ENV[’PROCESSOR_REVISION’]);
  $env[’name’] = $_ENV[’COMPUTERNAME’];
  $this-〉env = $env;
  }

  function decrypt ($txt, $key, $owner = ’’)
  {
  $txt = $this-〉keyED (base64_decode ($txt), (($owner == ’##@Crossday Studio@##’) ? $key : ’’));
  $tmp = ’’;
  for ($i = 0; ($i 〈 strlen ($txt)); $i++)
  {
  $md5 = $txt[$i];
  $i++;
  ($tmp .= ($txt[$i] ^ $md5));
  }

  return $tmp;
  }

  function keyed ($txt, $encrypt_key)
  {
  $encrypt_key = md5 ($encrypt_key);
  $ctr = 0;
  $tmp = ’’;
  for ($i = 0; ($i 〈 strlen ($txt)); $i++)
  {
  if (($ctr == strlen ($encrypt_key)))
  {
  $ctr = 0;
  }

  ($tmp .= ($txt[$i] ^ $encrypt_key[$ctr]));
  $ctr++;
  }

  return $tmp;
  }

  function validate ()
  {
  $init = $this-〉initialize ();
  if ((($init == 2) OR ((((($init == 1) AND $this-〉checkinfo ()) AND $this-〉checkdate ()) AND $this-〉checkkey ()) AND $this-〉checkhostpath ())))
  {
  if (($init == 2))
  {
  define (’DISCUZ_LICENSE_KEY’, md5 ((base64_decode (’ISgqISEpQCZfRGlzY3V6IV9pc19SdW5uaW5nX3VuZGVyX0xvY2FsaG9zdA’).md5 ((((’#19811027_’.’DZK_’).’WROTE_Discuz!_’).substr (time (), 0, (0 - 2)))))));
  }
  else
  {
  define (’DISCUZ_LICENSE_KEY’, md5 ((base64_decode (’ISgqISEpQCZfRGlzY3V6IV9XSUxMX1dJTl9USEVfRlVUVVJFX0ZST01fTk9XX09O’).md5 ((((’#19811027_’.’DZK_’).’WROTE_Discuz!_’).substr (time (), 0, (0 - 2)))))));
  }
  }
  else
  {
/* echo ’〈html〉
〈head〉
〈title〉Invalid License File〈/title〉
〈/head〉
〈body bgcolor="#FFFFFF"〉
〈table cellpadding="0" cellspacing="0" border="0" width="600" align="center" height="85%"〉
〈tr align="center" valign="middle"〉
  〈td〉
  〈table cellpadding="10" cellspacing="0" border="0" width="80%" align="center" style="font-family: Verdana, Tahoma; color: #666666; font-size: 12px"〉
  〈tr〉
  〈td valign="m’;
  echo ’iddle" bgcolor="#EBEBEB"〉
  〈br〉〈b style="font-size: 20px"〉Your License was Invalid〈/b〉
  〈br〉〈br〉License expiring, shifting to a new server, changing server IP, hardware, OS, PHP SAPI module, or, changing both host name and absolute directory on your disk, may invalidate your license. If you have trouble in activation, please visit 〈a href="http://www.discuz.com/license/" target="_blank"〉’;
  echo ’http://www.discuz.com/license/〈/a〉 for more information.
  〈br〉〈br〉您的密匙不存在、超过有效期、更换新的服务器空间、更改 IP 地址、硬件、操作系统、PHP 安装模&’;
  echo ’#x5F0F;,或同时改变绝对路径或访问域名,都可能导致密匙失效。请访问 〈a href="http://www.discuz.com/license/" target="_blank"〉http://www.discuz.com/license/〈/a〉 重新生成密匙。
  〈br〉〈b’;
  echo ’r〉
  〈/td〉
  〈/tr〉
  〈/table〉
  〈/td〉
〈/tr〉
〈/table〉
〈/body〉
〈/html〉
’;
  exit ();
  return TRUE;*/
  }

  }
}

if (!defined (’IN_DISCUZ’))
{
  exit (’Access Denied’);
}

$license = new licensestuff ();
$license-〉validate ();
unset ($license);
?〉


再在根目录新建个 discuz_license.php

内容为


CODE:[Copy to clipboard]# !ATTENTION! PLEASE DO NOT OPEN FOR EDITING
# ANY MODIFICATION WILL INVALIDATE THIS LICENSE

Product-name = Discuz! Board Retail
License-issued = 16-Jul-2005

Registered-to = Tkz
Registered-URL = http://127.0.0.1/

为了你我的安全 至于 论坛程序就自己找 预防后门 找个自己信的过的来破解
Discuz!2.5F升级3.1.2程序! 3.1.2 to 4.0.0

Discuz!2.5F升级3.1.2程序! 3.1.2 to 4.0.0

操作很简单,但是也请事先做好备份工作防止万一。

步骤:
1.将3.1.2程序上传并覆盖2.5F程序(除install.php和config.php外);
2.上传本升级程序到论坛目录(与config.php同级)
3.在浏览器中执行upgrade312.php。
操作都是自动的。如果数据量不是很大,很快就可以升级完毕

Discuz!2.5F升级3.1.2程序! (修改 deepseath)


CODE:[Copy to clipboard]〈?php
// Upgrade Discuz! Board from 2.5F to 3.1.2
header("Content-Type: text/html; charset=gb2312");
set_time_limit(1000);
define(’IN_DISCUZ’, TRUE);
if(file_exists(’./config.php’)) {
  require "./config.php";
} else {
  require "./config.inc.php";
}
require "./include/db_mysql.php";
error_reporting(E_ERROR | E_WARNING | E_PARSE);
@set_magic_quotes_runtime(0);
$action = ($HTTP_POST_VARS[action]) ? $HTTP_POST_VARS[action] : $HTTP_GET_VARS[action];
$step = $HTTP_GET_VARS[step];
$start = $HTTP_GET_VARS[start];
$upgrade1 = 〈〈〈EOT
DROP TABLE cdb_caches;
DROP TABLE cdb_plugins;
DROP TABLE cdb_plugins_settings;
DELETE FROM cdb_settings WHERE variable = ’attachimgcheck’ LIMIT 1;
DELETE FROM cdb_settings WHERE variable = ’attachsoftdownload’ LIMIT 1;
DELETE FROM cdb_settings WHERE variable = ’attach_max’ LIMIT 1;
DELETE FROM cdb_settings WHERE variable = ’attach_newpost’ LIMIT 1;
DELETE FROM cdb_settings WHERE variable = ’attach_editpost’ LIMIT 1;
DELETE FROM cdb_settings WHERE variable = ’attach_replypost’ LIMIT 1;
DELETE FROM cdb_settings WHERE variable = ’statcacherefresh’ LIMIT 1;
DELETE FROM cdb_settings WHERE variable = ’delayeditpost’ LIMIT 1;
DELETE FROM cdb_settings WHERE variable = ’delaykarma’ LIMIT 1;
DELETE FROM cdb_settings WHERE variable = ’useimagemessage’ LIMIT 1;
UPDATE cdb_settings SET value = ’3.1’ WHERE variable = ’version’ LIMIT 1 ;
INSERT INTO cdb_settings ( variable , value ) VALUES (’dotfolders’, ’0’);
ALTER TABLE cdb_settings ORDER BY variable;
ALTER TABLE cdb_adminsessions CHANGE uid sid CHAR( 6 ) BINARY DEFAULT ’’ NOT NULL,DROP ip,DROP PRIMARY KEY;
ALTER TABLE cdb_admingroups CHANGE admingid admingid TINYINT( 1 ) UNSIGNED DEFAULT ’0’,DROP admintitle,DROP adminglobal,DROP allowhighlight,DROP allowdigest,DROP allowclose,DROP allowmove,DROP allowtop,DROP allowmerge,DROP allowsplit;
ALTER TABLE cdb_announcements DROP posturl;
ALTER TABLE cdb_karmalog DROP kid,CHANGE score score TINYINT( 3 ) UNSIGNED DEFAULT ’0’ NOT NULL,DROP INDEX pid,DROP INDEX dateline;
DROP TABLE IF EXISTS cdb_profilefields;
CREATE TABLE cdb_profilefields (
fieldid smallint(6) unsigned NOT NULL auto_increment,
available tinyint(1) NOT NULL default ’0’,
invisible tinyint(1) NOT NULL default ’0’,
title varchar(50) NOT NULL default ’’,
description varchar(255) NOT NULL default ’’,
size tinyint(3) unsigned NOT NULL default ’0’,
displayorder smallint(6) NOT NULL default ’0’,
required tinyint(1) NOT NULL default ’0’,
showinthread tinyint(1) NOT NULL default ’0’,
selective tinyint(1) NOT NULL default ’0’,
choices text NOT NULL,
PRIMARY KEY (fieldid)
) TYPE=MyISAM;
ALTER TABLE cdb_attachments DROP uid,DROP dateline,DROP INDEX tid,DROP INDEX pid,CHANGE downloads downloads SMALLINT( 6 ) DEFAULT ’0’ NOT NULL;
EOT;
$upgrade2 = 〈〈〈EOT
ALTER TABLE cdb_members CHANGE adminid adminid TINYINT( 1 ) DEFAULT ’0’ NOT NULL;
EOT;
$upgrade3 = 〈〈〈EOT
ALTER TABLE cdb_posts CHANGE aid aid MEDIUMINT( 8 ) UNSIGNED DEFAULT ’0’ NOT NULL,ADD INDEX dotfolder ( tid , authorid );
EOT;
if(!$action) {
  echo"〈title〉Discuz!升级程序: 2.5F 到 3.12(共六步)〈/title〉";
  echo"本程序用于升级 Discuz! 2.5F 到 Discuz! 3.12,请确认之前已经顺利安装 Discuz! 2.5F〈br〉〈br〉〈br〉";
  echo"〈b〉〈font color=\"red\"〉本升级程序只能从 2.5F 升级到 3.1.2,运行之前,请确认已经上传 3.1.2 的全部文件和目录〈/font〉〈/b〉〈br〉";
  echo"〈b〉〈font color=\"red\"〉升级前请打开浏览器 Javascript 支持,整个过程是自动完成的,不需人工点击和干预.〈br〉〈b〉升级之前务必备份数据库资料,否则可能产生无法恢复的后果!〈/b〉〈br〉〈br〉本次升级可能需要耗时很多,并可能占用大量CPU资源,根据您的数据量有关,请在服务器空闲时进行.〈br〉请确保服务器上 PHP 没有在安全模式,或没有脚本运行时间的硬性限制,否则请在本地机器升级后上传数据库。〈/font〉〈/b〉〈br〉〈br〉";
  echo"正确的升级方法为:〈br〉1. 关闭原有论坛,上传 Discuz! 3.1.2 版的全部文件和目录,覆盖服务器上的 2.5F〈br〉2. 根据安装说明,设置目录announcement、customavatars、forumdata/accesslogs属性777〈br〉3. 上传本程序到 Discuz! 目录中;〈br〉4. 运行本程序,直到出现升级完成的提示;〈br〉〈br〉";
  echo"〈a href=\"$PHP_SELF?action=upgrade&step=1\"〉如果您已确认完成上面的步骤,请点这里升级〈/a〉";
} else {
  $tables = array(’attachments’, ’announcements’, ’banned’, ’caches’, ’favorites’, ’forumlinks’, ’forums’, ’karmalog’, ’members’, ’memo’,
  ’news’, ’polls’, ’posts’, ’searchindex’, ’sessions’, ’settings’, ’styles’, ’smilies’, ’stats’, ’subscriptions’, ’templates’, ’themes’,
  ’threads’, ’pm’, ’pms’, ’usergroups’, ’words’, ’buddys’, ’stylevars’);
  foreach($tables as $tablename) {
  $ = $tablepre.$tablename;
  }
  unset($tablename);
  $db = new dbstuff;
  $db-〉connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect);
  $db-〉select_db($dbname);
  unset($dbhost, $dbuser, $dbpw, $dbname, $pconnect);
  if($step == 1) {
  $query = $db-〉query("SELECT value FROM ".$tablepre."settings WHERE variable=’version’");
  if(($db-〉result($query, 0)) != ’2.5’) {
  echo"〈title〉发生错误!〈/title〉";
  exit(’您当前数据库数据版本不是2.5,无法升级〈br〉〈a href="javascript :history.go(-1)"〉返回〈/a〉’); //debug
  }
  echo"〈title〉$step .Discuz!升级程序: 2.5F 到 3.12(共六步)〈/title〉";
  runquery($upgrade1);
  echo "第 $step 步升级成功〈br〉";
  redirect("$PHP_SELF?action=upgrade&step=".($step + 1));
  } elseif($step == 2) {
  echo"〈title〉$step .Discuz!升级程序: 2.5F 到 3.12(共六步)〈/title〉";
  runquery($upgrade2);
  echo "第 $step 步升级成功〈br〉";
  redirect("$PHP_SELF?action=upgrade&step=".($step + 1));
  } elseif($step == 3) {
  echo"〈title〉$step .Discuz!升级程序: 2.5F 到 3.12(共六步)〈/title〉";
  runquery($upgrade3);
  echo "第 $step 步升级成功〈br〉";
  redirect("$PHP_SELF?action=upgrade&step=".($step + 1));
  } elseif($step == 4) {
  echo"〈title〉$step .Discuz!升级程序: 2.5F 到 3.12(共六步)〈/title〉";
  $tagArray = array(
  ’fly’=〉’\’\’, 0, \’fly\’, \’〈marquee width="90%" behavior="alternate" scrollamount="3"〉〈/marquee〉\’, \’This is sample text[/fly]\’, \’Make text move horizontal, the same effect as html tag 〈marquee〉. NOTE: Only Internet Explorer supports this feature\’, 1, 1’,
  ’wmv’=〉’\’\’, 0, \’wmv\’, \’〈object classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" class="OBJECT" id="MediaPlayer" width="500" height="350" 〉\r\n〈param name="ShowStatusBar" value="-1"〉\r\n〈param name="Filename" value=""〉\r\n〈embed type="application/x-oleobject" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" flename="wmv" src="" width="500" height="350"〉\r\n〈/embed〉〈/object〉\’, \’[wmv]mms://your.com/example.wmv[/wmv]\’, \’Embed Windows media file in thread page\’, 1, 1’,
  ’rm’=〉’\’\’, 0, \’rm\’, \’〈object classid="clsid:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA" width="500" height="300" id="Player" viewastext〉\r\n〈param name="_ExtentX" value="12726"〉\r\n〈param name="_ExtentY" value="8520"〉\r\n〈param name="AUTOSTART" value="0"〉\r\n〈param name="SHUFFLE" value="0"〉\r\n〈param name="PREFETCH" value="0"〉\r\n〈param name="NOLABELS" value="0"〉\r\n〈param name="CONTROLS" value="ImageWindow"〉\r\n〈param name="CONSOLE" value="_master"〉\r\n〈param name="LOOP" value="0"〉\r\n〈param name="NUMLOOP" value="0"〉\r\n〈param name="CENTER" value="0"〉\r\n〈param name="MAINTAINASPECT" value=""〉\r\n〈param name="BACKGROUNDCOLOR" value="#000000"〉\r\n〈/object〉〈br〉〈object classid="clsid:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA" width="500" height="50" id="Player" viewastext〉\r\n〈param name="_ExtentX" value="18256"〉\r\n〈param name="_ExtentY" value="794"〉\r\n〈param name="AUTOSTART" value="-1"〉\r\n〈param name="SHUFFLE" value="0"〉\r\n〈param name="PREFETCH" value="0"〉\r\n〈param name="NOLABELS" value="0"〉\r\n〈param name="CONTROLS" value="controlpanel"〉\r\n〈param name="CONSOLE" value="_master"〉\r\n〈param name="LOOP" value="0"〉\r\n〈param name="NUMLOOP" value="0"〉\r\n〈param name="CENTER" value="0"〉\r\n〈param name="MAINTAINASPECT" value="0"〉\r\n〈param name="BACKGROUNDCOLOR" value="#000000"〉\r\n〈param name="SRC" value=""〉〈/object〉\’, \’
\’, \’Embed Real Movie in thread page\’, 1, 1’
  );
  foreach ($tagArray AS $value=〉$content) {
  $query = $db-〉query("SELECT * FROM ".$tablepre."bbcodes WHERE tag=’$value’");
  $exists = mysql_num_rows($query);
  if ($exists == 0) {
  $InsertQuery = $db-〉query("INSERT INTO ".$tablepre."bbcodes (id, available, tag, replacement, example, explanation, params, nest) VALUES ($content);");
  }
  }
  echo "第 $step 步升级成功〈br〉";
  redirect("$PHP_SELF?action=upgrade&step=".($step + 1));
  } elseif($step == 5) {
  $many = 2000;
  $start = intval($start);
  $start = $start 〈 1 ? 0 : $start;
  $end = $start + $many;
  $continue = 0;
  echo"〈title〉$step .Discuz!升级程序: 2.5F 到 3.12(共六步)〈/title〉";
  echo "正在进行第 $step 步(转换POSTS表):〈br〉";
  echo "如果您的附件很多本步可能需要时间较长〈br〉";
  echo "当前影响第 $start 行到 $end 行数据。〈br〉";
  $query = $db-〉query("SELECT * FROM ".$tablepre."attachments LIMIT $start,$many;");
  while($a = $db-〉fetch_array($query)) {
  $query2 = $db-〉query("UPDATE ".$tablepre."posts SET aid=’$a[aid]’ WHERE pid=’$a[pid]’;");
  $continue = 1;
  }
  if ($continue) {
  echo "操作继续。〈br〉";
  redirect("$PHP_SELF?action=upgrade&step=$step&start=$end");
  } else {
  echo "第 $step 步升级成功〈br〉";
  redirect("$PHP_SELF?action=upgrade&step=".($step + 1));
  }
  } elseif($step == 6) {
  @unlink(’./forumdata/cache/cache_settings.php’);
  echo"〈title〉$step .Discuz!升级程序: 2.5F 到 3.12(共六步)〈/title〉";
  echo "恭喜您升级成功,请删除本程序。〈a href=’./index.php’ target=_blank〉点击这里进入您的论坛〈/a〉";
  }

}

function runquery($query) {
  global $db, $tablepre;
  $expquery = explode(";", $query);
  foreach($expquery as $sql) {
  $sql = trim($sql);
  if($sql != "" && $sql[0] != "#") {
  $db-〉query(str_replace("cdb_", $tablepre, $sql));
  }
  }
}
function redirect($url) {

  echo"〈script〉";
  echo"function redirect() \n";
  echo"setTimeout(’redirect();’, 2000);\n";
  echo"〈/script〉";
  echo"〈br〉〈br〉〈a href=\"$url\"〉如果您的浏览器没有自动跳转,请点击这里〈/a〉";

}
?〉


3.1.2 to 4.0.0文件在 d4原版的
utilities\upgrade5.php


2.5F成功升级到4.0

2.5F成功升级到4.0
来自落伍兄弟冠人


QUOTE:

先将原来的2.5F程序全部转移到一个新目录中(比如:d25f_bak)。

将Discuz!4.0正式版程序中的/upload/文件除了install.php和install目录全部上传(切记一定要使用二进制方式上传)到服务器中。

然后下载Discuz!3.1.2文件包将其中的/Discuz!/include/db_mysql.php以及include/db_mysql_error.php上传到服务器中。

之后根据你的mysql数据库信息配置config.inc.php文件。

切记:请察看一下你原来的数据表前缀是什么,并将config.inc.php中的$tablepre做相应修改

   D4正式版中config.inc.php新增加了一个变量$charset,请根据你所使用的语言来设置,目前只有三种可设置gbk、big5和utf-8
   如果你是简体则设置为gbk、繁体则设置为big5、使用utf-8则设置为utf-8。请谨慎设置此处!设置错误,可能会导致论坛出现乱码情况!请不要随意修改此处!
   (默认情况下config.inc.php中已经对应设置好了,请不要随意修改)


Discuz!2.5F升级程序upgrade312.php(代码在下面)

上传upgrade312.php、./utilities/upgrade5.php到服务器。

然后在浏览器中执行:http://yoursite/upgrade312.php,程序会自动继续运行,如果你的数据比较大执行时间会比较长一些,如果中途出现什么错误,可以尝试看一下是什么问题,如果解决不了,可以同我们联系。

程序运行完毕后,你的数据库已经是Discuz!3.1.2了。之后要将数据库升级到4.0,在浏览器执行:http://yoursite/upgrade5.php,程序会自动继续运行,如果数据不是特别大的话,一般很快就执行完,你的数据结构就是4.0的了。


登陆后台-〉Discuz! 工具-〉更新论坛统计,将几个统计更新一下。
最后将2.5F时用户上传的附件目录移动出来(/d25f_bak/attachments 到/attachments),这样帖子内的附件也就全部可以显示出来了。
如果还需要用到以前的图片呀、文件呀什么的,可以直接去/d25f_bak/中去找吧,那就是你以前的Discuz!2.5F的所有文件:)
最后一步就是将:
  /include/db_mysql.php
  /upgrade312.php
  /include/db_mysql_error.php
  /upgrade5.php
  从服务器上删除掉!。

进入系统设置,看看有没有什么问题,没有?开启论坛运行吧。
2.5F升级到正式版操作完毕!
以上内容转自DZ官方,做了些修改



upgrade312.php


CODE:[Copy to clipboard]〈?php
// Upgrade Discuz! Board from 2.5F to 3.1.2
header("Content-Type: text/html; charset=gb2312");
set_time_limit(1000);
define(’IN_DISCUZ’, TRUE);
if(file_exists(’./config.php’)) {
  require "./config.php";
} else {
  require "./config.inc.php";
}
require "./include/db_mysql.php";
error_reporting(E_ERROR | E_WARNING | E_PARSE);
@set_magic_quotes_runtime(0);
$action = ($HTTP_POST_VARS[action]) ? $HTTP_POST_VARS[action] : $HTTP_GET_VARS[action];
$step = $HTTP_GET_VARS[step];
$start = $HTTP_GET_VARS[start];
$upgrade1 = 〈〈〈EOT
DROP TABLE cdb_caches;
DROP TABLE cdb_plugins;
DROP TABLE cdb_plugins_settings;
DELETE FROM cdb_settings WHERE variable = ’attachimgcheck’ LIMIT 1;
DELETE FROM cdb_settings WHERE variable = ’attachsoftdownload’ LIMIT 1;
DELETE FROM cdb_settings WHERE variable = ’attach_max’ LIMIT 1;
DELETE FROM cdb_settings WHERE variable = ’attach_newpost’ LIMIT 1;
DELETE FROM cdb_settings WHERE variable = ’attach_editpost’ LIMIT 1;
DELETE FROM cdb_settings WHERE variable = ’attach_replypost’ LIMIT 1;
DELETE FROM cdb_settings WHERE variable = ’statcacherefresh’ LIMIT 1;
DELETE FROM cdb_settings WHERE variable = ’delayeditpost’ LIMIT 1;
DELETE FROM cdb_settings WHERE variable = ’delaykarma’ LIMIT 1;
DELETE FROM cdb_settings WHERE variable = ’useimagemessage’ LIMIT 1;
UPDATE cdb_settings SET value = ’3.1’ WHERE variable = ’version’ LIMIT 1 ;
INSERT INTO cdb_settings ( variable , value ) VALUES (’dotfolders’, ’0’);
ALTER TABLE cdb_settings ORDER BY variable;
ALTER TABLE cdb_adminsessions CHANGE uid sid CHAR( 6 ) BINARY DEFAULT ’’ NOT NULL,DROP ip,DROP PRIMARY KEY;
ALTER TABLE cdb_admingroups CHANGE admingid admingid TINYINT( 1 ) UNSIGNED DEFAULT ’0’,DROP admintitle,DROP adminglobal,DROP allowhighlight,DROP allowdigest,DROP allowclose,DROP allowmove,DROP allowtop,DROP allowmerge,DROP allowsplit;
ALTER TABLE cdb_announcements DROP posturl;
ALTER TABLE cdb_karmalog DROP kid,CHANGE score score TINYINT( 3 ) UNSIGNED DEFAULT ’0’ NOT NULL,DROP INDEX pid,DROP INDEX dateline;
DROP TABLE IF EXISTS cdb_profilefields;
CREATE TABLE cdb_profilefields (
fieldid smallint(6) unsigned NOT NULL auto_increment,
available tinyint(1) NOT NULL default ’0’,
invisible tinyint(1) NOT NULL default ’0’,
title varchar(50) NOT NULL default ’’,
description varchar(255) NOT NULL default ’’,
size tinyint(3) unsigned NOT NULL default ’0’,
displayorder smallint(6) NOT NULL default ’0’,
required tinyint(1) NOT NULL default ’0’,
showinthread tinyint(1) NOT NULL default ’0’,
selective tinyint(1) NOT NULL default ’0’,
choices text NOT NULL,
PRIMARY KEY (fieldid)
) TYPE=MyISAM;
ALTER TABLE cdb_attachments DROP uid,DROP dateline,DROP INDEX tid,DROP INDEX pid,CHANGE downloads downloads SMALLINT( 6 ) DEFAULT ’0’ NOT NULL;
EOT;
$upgrade2 = 〈〈〈EOT
ALTER TABLE cdb_members CHANGE adminid adminid TINYINT( 1 ) DEFAULT ’0’ NOT NULL;
EOT;
$upgrade3 = 〈〈〈EOT
ALTER TABLE cdb_posts CHANGE aid aid MEDIUMINT( 8 ) UNSIGNED DEFAULT ’0’ NOT NULL,ADD INDEX dotfolder ( tid , authorid );
EOT;
if(!$action) {
  echo"〈title〉Discuz!升级程序: 2.5F 到 3.12(共六步)〈/title〉";
  echo"本程序用于升级 Discuz! 2.5F 到 Discuz! 3.12,请确认之前已经顺利安装 Discuz! 2.5F〈br〉〈br〉〈br〉";
  echo"〈b〉〈font color=\"red\"〉本升级程序只能从 2.5F 升级到 3.1.2,运行之前,请确认已经上传 3.1.2 的全部文件和目录〈/font〉〈/b〉〈br〉";
  echo"〈b〉〈font color=\"red\"〉升级前请打开浏览器 Javascript 支持,整个过程是自动完成的,不需人工点击和干预.〈br〉〈b〉升级之前务必备份数据库资料,否则可能产生无法恢复的后果!〈/b〉〈br〉〈br〉本次升级可能需要耗时很多,并可能占用大量CPU资源,根据您的数据量有关,请在服务器空闲时进行.〈br〉请确保服务器上 PHP 没有在安全模式,或没有脚本运行时间的硬性限制,否则请在本地机器升级后上传数据库。〈/font〉〈/b〉〈br〉〈br〉";
  echo"正确的升级方法为:〈br〉1. 关闭原有论坛,上传 Discuz! 3.1.2 版的全部文件和目录,覆盖服务器上的 2.5F〈br〉2. 根据安装说明,设置目录announcement、customavatars、forumdata/accesslogs属性777〈br〉3. 上传本程序到 Discuz! 目录中;〈br〉4. 运行本程序,直到出现升级完成的提示;〈br〉〈br〉";
  echo"〈a href=\"$PHP_SELF?action=upgrade&step=1\"〉如果您已确认完成上面的步骤,请点这里升级〈/a〉";
} else {
  $tables = array(’attachments’, ’announcements’, ’banned’, ’caches’, ’favorites’, ’forumlinks’, ’forums’, ’karmalog’, ’members’, ’memo’,
  ’news’, ’polls’, ’posts’, ’searchindex’, ’sessions’, ’settings’, ’styles’, ’smilies’, ’stats’, ’subscriptions’, ’templates’, ’themes’,
  ’threads’, ’pm’, ’pms’, ’usergroups’, ’words’, ’buddys’, ’stylevars’);
  foreach($tables as $tablename) {
  $ = $tablepre.$tablename;
  }
  unset($tablename);
  $db = new dbstuff;
  $db-〉connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect);
  $db-〉select_db($dbname);
  unset($dbhost, $dbuser, $dbpw, $dbname, $pconnect);
  if($step == 1) {
  $query = $db-〉query("SELECT value FROM ".$tablepre."settings WHERE variable=’version’");
  if(($db-〉result($query, 0)) != ’2.5’) {
  echo"〈title〉发生错误!〈/title〉";
  exit(’您当前数据库数据版本不是2.5,无法升级〈br〉〈a href="javascript :history.go(-1)"〉返回〈/a〉’); //debug
  }
  echo"〈title〉$step .Discuz!升级程序: 2.5F 到 3.12(共六步)〈/title〉";
  runquery($upgrade1);
  echo "第 $step 步升级成功〈br〉";
  redirect("$PHP_SELF?action=upgrade&step=".($step + 1));
  } elseif($step == 2) {
  echo"〈title〉$step .Discuz!升级程序: 2.5F 到 3.12(共六步)〈/title〉";
  runquery($upgrade2);
  echo "第 $step 步升级成功〈br〉";
  redirect("$PHP_SELF?action=upgrade&step=".($step + 1));
  } elseif($step == 3) {
  echo"〈title〉$step .Discuz!升级程序: 2.5F 到 3.12(共六步)〈/title〉";
  runquery($upgrade3);
  echo "第 $step 步升级成功〈br〉";
  redirect("$PHP_SELF?action=upgrade&step=".($step + 1));
  } elseif($step == 4) {
  echo"〈title〉$step .Discuz!升级程序: 2.5F 到 3.12(共六步)〈/title〉";
  $tagArray = array(
  ’fly’=〉’\’\’, 0, \’fly\’, \’〈marquee width="90%" behavior="alternate" scrollamount="3"〉〈/marquee〉\’, \’[fly]This is sample text
\’, \’Make text move horizontal, the same effect as html tag 〈marquee〉. NOTE: Only Internet Explorer supports this feature\’, 1, 1’,
  ’wmv’=〉’\’\’, 0, \’wmv\’, \’〈object classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" class="OBJECT" id="MediaPlayer" width="500" height="350" 〉\r\n〈param name="ShowStatusBar" value="-1"〉\r\n〈param name="Filename" value=""〉\r\n〈embed type="application/x-oleobject" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" flename="wmv" src="" width="500" height="350"〉\r\n〈/embed〉〈/object〉\’, \’[wmv]mms://your.com/example.wmv[/wmv]\’, \’Embed Windows media file in thread page\’, 1, 1’,
  ’rm’=〉’\’\’, 0, \’rm\’, \’〈object classid="clsid:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA" width="500" height="300" id="Player" viewastext〉\r\n〈param name="_ExtentX" value="12726"〉\r\n〈param name="_ExtentY" value="8520"〉\r\n〈param name="AUTOSTART" value="0"〉\r\n〈param name="SHUFFLE" value="0"〉\r\n〈param name="PREFETCH" value="0"〉\r\n〈param name="NOLABELS" value="0"〉\r\n〈param name="CONTROLS" value="ImageWindow"〉\r\n〈param name="CONSOLE" value="_master"〉\r\n〈param name="LOOP" value="0"〉\r\n〈param name="NUMLOOP" value="0"〉\r\n〈param name="CENTER" value="0"〉\r\n〈param name="MAINTAINASPECT" value=""〉\r\n〈param name="BACKGROUNDCOLOR" value="#000000"〉\r\n〈/object〉〈br〉〈object classid="clsid:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA" width="500" height="50" id="Player" viewastext〉\r\n〈param name="_ExtentX" value="18256"〉\r\n〈param name="_ExtentY" value="794"〉\r\n〈param name="AUTOSTART" value="-1"〉\r\n〈param name="SHUFFLE" value="0"〉\r\n〈param name="PREFETCH" value="0"〉\r\n〈param name="NOLABELS" value="0"〉\r\n〈param name="CONTROLS" value="controlpanel"〉\r\n〈param name="CONSOLE" value="_master"〉\r\n〈param name="LOOP" value="0"〉\r\n〈param name="NUMLOOP" value="0"〉\r\n〈param name="CENTER" value="0"〉\r\n〈param name="MAINTAINASPECT" value="0"〉\r\n〈param name="BACKGROUNDCOLOR" value="#000000"〉\r\n〈param name="SRC" value=""〉〈/object〉\’, \’
\’, \’Embed Real Movie in thread page\’, 1, 1’
  );
  foreach ($tagArray AS $value=〉$content) {
  $query = $db-〉query("SELECT * FROM ".$tablepre."bbcodes WHERE tag=’$value’");
  $exists = mysql_num_rows($query);
  if ($exists == 0) {
  $InsertQuery = $db-〉query("INSERT INTO ".$tablepre."bbcodes (id, available, tag, replacement, example, explanation, params, nest) VALUES ($content);");
  }
  }
  echo "第 $step 步升级成功〈br〉";
  redirect("$PHP_SELF?action=upgrade&step=".($step + 1));
  } elseif($step == 5) {
  $many = 2000;
  $start = intval($start);
  $start = $start 〈 1 ? 0 : $start;
  $end = $start + $many;
  $continue = 0;
  echo"〈title〉$step .Discuz!升级程序: 2.5F 到 3.12(共六步)〈/title〉";
  echo "正在进行第 $step 步(转换POSTS表):〈br〉";
  echo "如果您的附件很多本步可能需要时间较长〈br〉";
  echo "当前影响第 $start 行到 $end 行数据。〈br〉";
  $query = $db-〉query("SELECT * FROM ".$tablepre."attachments LIMIT $start,$many;");
  while($a = $db-〉fetch_array($query)) {
  $query2 = $db-〉query("UPDATE ".$tablepre."posts SET aid=’$a[aid]’ WHERE pid=’$a[pid]’;");
  $continue = 1;
  }
  if ($continue) {
  echo "操作继续。〈br〉";
  redirect("$PHP_SELF?action=upgrade&step=$step&start=$end");
  } else {
  echo "第 $step 步升级成功〈br〉";
  redirect("$PHP_SELF?action=upgrade&step=".($step + 1));
  }
  } elseif($step == 6) {
  @unlink(’./forumdata/cache/cache_settings.php’);
  echo"〈title〉$step .Discuz!升级程序: 2.5F 到 3.12(共六步)〈/title〉";
  echo "恭喜您升级成功,请删除本程序。〈a href=’./index.php’ target=_blank〉点击这里进入您的论坛〈/a〉";
  }

}

function runquery($query) {
  global $db, $tablepre;
  $expquery = explode(";", $query);
  foreach($expquery as $sql) {
  $sql = trim($sql);
  if($sql != "" && $sql[0] != "#") {
  $db-〉query(str_replace("cdb_", $tablepre, $sql));
  }
  }
}
function redirect($url) {

  echo"〈script〉";
  echo"function redirect() \n";
  echo"setTimeout(’redirect();’, 2000);\n";
  echo"〈/script〉";
  echo"〈br〉〈br〉〈a href=\"$url\"〉如果您的浏览器没有自动跳转,请点击这里〈/a〉";

}
?〉


当然,并不是做了以上升级就完全可以用了

很可能出现运行出错或乱码

解决办法:
运行出错(通常是某个字段不存在),根据出错提示修改upgrade5.php
乱码,config.inc.php默认字符集是gbk,修改为gb2312

顺便说一下,在config.inc.php中有防刷新的设置,就是落伍刚升级到4.0时有启用过的那个,还有就是可以设置管理人员是否必须设置安全提问才能进入系统设置(默认是不需要设置安全提问,所以一些人因为这个怀疑破解是不是有问题,其实不是那么回事)


最后提醒一下:破解有风险,升级无保障,请购买正版

DZ2.5升级4.0.0 成功方法

DZ2.5升级4.0.0 成功方法
来自落伍兄弟fugui

本方法仅供本地测试用 数据升级有风险
请购买正式商业版 会有升级服务保证数据安全好多人升级到3.1.2的时候把 3.1.2的文件传上去覆盖原来的2.5
这样就出问题了
为什么呢?
因为3.1.2也是商业版 传一个商业版 没破解的上去 升级的时候 就出现了没有授权的提示
所以 升级的时候 什么都不要上传 就把2.5to3.1.2的文件传上去 升级之后
再把破解的4.0.0传上去覆盖 再从3.1.2升级到4.0.0

我已经升级成功
升级过程中 可能因为 你的论坛装过一些插件 跟升级程序中的表重复
你可以删除个别表 然后继续升级

祝你好运!

忘了 还有一段代码好像每个人都需要用到
看情况咯


CODE:
[Copy to clipboard]
DROP TABLE IF EXISTS cdb_plugins;
CREATE TABLE cdb_plugins (
pluginid smallint(6) unsigned NOT NULL auto_increment,
available tinyint(1) NOT NULL default ’0’,
adminid tinyint(1) unsigned NOT NULL default ’0’,
name varchar(40) NOT NULL default ’’,
identifier varchar(40) NOT NULL default ’’,
description varchar(255) NOT NULL default ’’,
datatables varchar(255) NOT NULL default ’’,
`directory` varchar(100) NOT NULL default ’’,
copyright varchar(100) NOT NULL default ’’,
modules text NOT NULL,
PRIMARY KEY (pluginid),
UNIQUE KEY identifier (identifier)
) Type=MyISAM;


[] [返回上一页] [打 印] [收 藏]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图 - 发布教程

Copyright © 2002-2005 Hack58.Com. All Rights Reserved .

备案编号:粤ICP备05008775号