discuz!源代码分析

discuz!源代码分析

ID:1663391

大小:266.50 KB

页数:64页

时间:2017-11-12

discuz!源代码分析_第1页
discuz!源代码分析_第2页
discuz!源代码分析_第3页
discuz!源代码分析_第4页
discuz!源代码分析_第5页
资源描述:

《discuz!源代码分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Discuz!源代码分析系列(1)--./include/common.inc.php第一个文件当然是分析./include/common.inc.php这个文件,这个是Discuz的核心中的核心,基本上每次操作都include到了这个文件,下面就分七段来分析这个文件:SectionOne://定义PHP一些环境error_reporting(0);//关闭所有错误提示信息,避免把错误信息泄露给用户。set_magic_quotes_runtime(0);//关闭magic_quotes_runtime;参见get_magic_quotes_runtime(),magic

2、_quotes_runtime,magic_quote_gpc.//设置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));//获得绝对目录//兼容4.1.0以下版本if(PHP_VERSION<'4.1.0'){$_GET=&$HTTP_GET

3、_VARS;$_POST=&$HTTP_POST_VARS;$_COOKIE=&$HTTP_COOKIE_VARS;$_SERVER=&$HTTP_SERVER_VARS;$_ENV=&$HTTP_ENV_VARS;$_FILES=&$HTTP_POST_FILES;}这一段基本上就是设置一下错误报告,把magic_quotes这个sick家伙给关了,然后定一个开始的时间,这样我们在论坛底部看到的ProcessTime就是通过这个开始的时间和一个结束的时间的差来计算的,然后定义一个IN_DISCUZ为真,这个IN_DISCUZ常量的作用就是在其他inc这样的包含文件中防止

4、被非法引用,一旦没有这个常量的话就出现AccessDenied这样的字样然后退出。然后获得Discuz运行的绝对目录。接下来是判断PHP的版本是4.1以下还是以上,因为PHP以4.1为一个分界线,在4.1以下以$HTTP_GET_VARS[‘xx’]这样的方式来得到get过来的值,而以后用$_GET来得到get过来的值,这样做的目的是为了无论是什么样的PHP版本,都能用$_GET这样的方式得到,有通用性~!SectionTwo:require_onceDISCUZ_ROOT.'./include/global.func.php';把include/global.inc.p

5、hp引用进来,这个文件是Discuz的核心函数文件,包含了Discuz用到的很多通用的函数,可以说它就是一个大的通用函数库。define('ISROBOT',getrobot());//getrobot()函数查询global.func.phpif(defined('NOROBOT')&&ISROBOT){exit(header("HTTP/1.1403Forbidden"));}这里是定义一个ISROBOT常量,看看浏览者是什么东东,比方说如果浏览者是一个robot那么就直接来一个403Forbidden了……define('MAGIC_QUOTES_GPC',get_

6、magic_quotes_gpc());isset($_REQUEST['GLOBALS'])&&exit('AccessError');foreach(array('_COOKIE','_POST','_GET')as$_request){foreach($$_requestas$_key=>$_value){$_key{0}!='_'&&$$_key=daddslashes($_value);//&&左边表达式为false时,不执行右边语句}}//此处是过滤提交的变量用的,提高安全性的用法。(!MAGIC_QUOTES_GPC)&&$_FILES=daddslashe

7、s($_FILES);//认真学习预定义变量$_SERVER,$_ENV,$_COOKIE,$_POST,$_GET,$_REQUEST,$_FILES,$_SESSION,$_GLOBALS$charset=$dbcharset=$forumfounders=$metakeywords=$extrahead='';$plugins=$hooks=$admincp=array();require_onceDISCUZ_ROOT.'./config.inc.php';$_DCOOKIE=$_DSESSION=$_DCACHE=$

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。