discuz源代码详解(1).doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
discuz源代码详解(1)

discuz源代码详解(1) 2009-03-07 11:03 第一个文件当然是分析./include/common.inc.php这个文件,这个是Discuz的核心中的核心,基本上每次操作都include到了这个文件,下面就分七段来分析这个文件: Section One: 以下内容为程序代码: //定义PHP一些环境 error_reporting(0); set_magic_quotes_runtime(0); //设置Discuz开始的时间 $mtime = explode( , microtime()); $discuz_starttime = $mtime[1] + $mtime[0]; //定义一些常量 define(SYS_DEBUG, FALSE); define(IN_DISCUZ, TRUE); define(DISCUZ_ROOT, substr(dirname(__FILE__), 0, -7)); //获得绝对目录 //通用性 if(PHP_VERSION 4.1.0) { $_GET = $HTTP_GET_VARS; $_POST = $HTTP_POST_VARS; $_COOKIE = $HTTP_COOKIE_VARS; $_SERVER = $HTTP_SERVER_VARS; $_ENV = $HTTP_ENV_VARS; $_FILES = $HTTP_POST_FILES; } 这一段基本上就是设置一下错误报告,把magic_quotes这个sick家伙给关了,然后定一个开始的时间,这样我们在论坛底部看到的Process Time就是通过这个开始的时间和一个结束的时间的差来计算的,然后定义一个IN_DISCUZ为真,这个IN_DISCUZ常量的作用就是在其他inc这样的包含文件中防止被非法引用,一旦没有这个常量的话就出现Access Denied这样的字样然后退出。然后获得Discuz运行的绝对目录。接下来是判断PHP 的版本是4.1 以下还是以上,因为PHP以4.1为一个分界线,在4.1以下以$HTTP_GET_VARS[‘xx’]这样的方式来得到get过来的值,而以后用$_GET来得到get过来的值,这样做的目的是为了无论是什么样的PHP版本,都能用$_GET这样的方式得到,有通用性~! 以下内容为程序代码: require_once DISCUZ_ROOT../include/global.func.php; 把include/global.inc.php引用进来,这个文件是Discuz的核心函数文件,包含了Discuz用到的很多通用的函数,可以说它就是一个大的通用函数库。 以下内容为程序代码: define(ISROBOT, getrobot()); if(defined(NOROBOT) ISROBOT) { exit(header(HTTP/1.1 403 Forbidden)); } 这里是定义一个ISROBOT常量,看看浏览者是什么东东,比方说如果浏览者是一个robot那么就直接来一个 403 Forbidden了…… 以下内容为程序代码: define(MAGIC_QUOTES_GPC, get_magic_quotes_gpc()); isset($_REQUEST[GLOBALS]) exit(Access Error); foreach(array(_COOKIE, _POST, _GET) as $_request) { foreach($$_request as $_key = $_value) { $_key{0} != _ $$_key = daddslashes($_value); } } (!MAGIC_QUOTES_GPC) $_FILES = daddslashes($_FILES); 此处是过滤提交的变量用的,提高安全性的用法。。 以下内容为程序代码: $charset = $dbcharset = $forumfounders = $metakeywords = $extrahead = ; $plugins = $hooks = $admincp = array(); require_once DISCUZ_ROOT../config.inc.php; $_DCOOKIE = $_D

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档