Ucenter源码解析之——admin.php

上一篇,我们讲到了Ucenter的index.php接收到m,a为空参数的时候,会直接跳到admin.php,这个是/目录下的admin.php.先看前面的代码。

先关闭错误提示和magic_quotes_runtime,如果启用了 magic_quotes_runtime,大多数返回任何形式外部数据的函数,包括数据库和文本段将会用反斜线转义引号。记录当前时间,这个和后面的记录结束时间是为了debug用的。后面会具体解释。然后定义了Ucenter的物理路径,Ucenter所在服务器IP,和/data/的物理路径、url路径、以及获取mgic_quotes_gpc的值。mgic_quotes_gpc的状态是开启还是关闭很重要,如果mgic_quotes_gpc是开启的,那么接收用户输入的敏感符号如单引号、双引号都会被转义。如果是关闭,那么就不会自动转义。为了安全,我们会自己在程序中做转义。

所以你会看到Ucenter会自己加上转义。因为用户传过来的数据有很多途径,最常用的是$_POST,$_GET,所以其他途径也进行转义了。然后就是引入需要的文件,数据库配置文件config.inc.php,/model/base.php,/model/admin.php。/model/base.php定义了base类,所有control类的根父类,即是说所有的control里的类直接继承或间接的继承于这个类./model/admin.php定义了adminbase类,本身继承于base类,是所有/control/admin里定义的类的父类。

接下来就是重点的了。这部分代码就是实现登陆的页面。

第一次进来,$m=frame,$a=index,判断$m和/control/admin/目录的文件是否匹配。匹配则加载相应的文件,例如frame.php,然后执行该类的on开头的方法,比如onindex(),如果不存在则执行_call()方法。

下一篇我们会追踪到frame.php的代码和他执行的onindex()函数。开时的时候记录了初始时间,后面我们可以看到记录的结束时间,这个时间差,会被赋值到注释的语句里面的#debug_time.如果你在config.inc.php中设置UC_DEBUG为true,开启了debug,/data/view/footer.php中的代码就会执行。

这个文件的后面两个函数,和/index.php,转义用户传递的数据,和接收参数。

时间: 2024-10-06 07:13:13

Ucenter源码解析之——admin.php的相关文章

Ucenter源码解析--frame.php

/control/admin/frame.php的流程结构类似于这样:/control/admin/frame.php -->调用父类adminbase的构造函数,(/model/adminbase的实例)-->adminbase类的构造函数,调用父类base类的构造函数(/model/base.php),真正干活的是base类的构造函数,所以,我们直接看base类的构造函数都实现了什么. //构造函数 function __construct() { $this->base(); }

Ucenter源码解析之——index.php

1:安装好ucenter之后,进入Ucenter,如果在浏览器地址栏上输入ucenter域名,默认加载index.php,如果不带任何参数输入域名,将跳到根目录的admin.php.我们可以看代码 $m.$a是index.php和admin.php接收的参数.$m代码着将要实例化的类,$a代码着将要调用的method.比如,$m=user,$a=login.则会加载/control/user.php,$m=new usercontrol(),$m->onlogin(); 接下来是引入释放版本的m

【转】Java 集合系列12之 TreeMap详细介绍(源码解析)和使用示例

概要 这一章,我们对TreeMap进行学习.我们先对TreeMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用TreeMap.内容包括:第1部分 TreeMap介绍第2部分 TreeMap数据结构第3部分 TreeMap源码解析(基于JDK1.6.0_45)第4部分 TreeMap遍历方式第5部分 TreeMap示例 转载请注明出处:http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3310928 第1部

Spring 源码解析之HandlerAdapter源码解析(二)

Spring 源码解析之HandlerAdapter源码解析(二) 前言 看这篇之前需要有Spring 源码解析之HandlerMapping源码解析(一)这篇的基础,这篇主要是把请求流程中的调用controller流程单独拿出来了 解决上篇文章遗留的问题 getHandler(processedRequest) 这个方法是如何查找到对应处理的HandlerExecutionChain和HandlerMapping的,比如说静态资源的处理和请求的处理肯定是不同的HandlerMapping ge

Java 集合系列12之 TreeMap详细介绍(源码解析)和使用示例

概要 这一章,我们对TreeMap进行学习.我们先对TreeMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用TreeMap.内容包括:第1部分 TreeMap介绍第2部分 TreeMap数据结构第3部分 TreeMap源码解析(基于JDK1.6.0_45)第4部分 TreeMap遍历方式第5部分 TreeMap示例 转载:http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3310928 第1部分 Tre

Java 集合系列17之 TreeSet详细介绍(源码解析)和使用示例

概要 这一章,我们对TreeSet进行学习.我们先对TreeSet有个整体认识,然后再学习它的源码,最后再通过实例来学会使用TreeSet.内容包括:第1部分 TreeSet介绍第2部分 TreeSet数据结构第3部分 TreeSet源码解析(基于JDK1.6.0_45)第4部分 TreeSet遍历方式第5部分 TreeSet示例 转载请注明出处:http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3311268 第1部

Java 集合系列13之 WeakHashMap详细介绍(源码解析)和使用示例

概要 这一章,我们对WeakHashMap进行学习.我们先对WeakHashMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用WeakHashMap.第1部分 WeakHashMap介绍第2部分 WeakHashMap数据结构第3部分 WeakHashMap源码解析(基于JDK1.6.0_45)第4部分 WeakHashMap遍历方式第5部分 WeakHashMap示例 转载请注明出处:http://www.cnblogs.com/skywang12345/admin/EditPo

TreeMap详细介绍(源码解析)和使用示例

本文转自 http://www.cnblogs.com/skywang12345/p/3310928.html 概要 这一章,我们对TreeMap进行学习.我们先对TreeMap有个整体认识,然后再学习它的源码,最后再通过实例来学会使用TreeMap 转载请注明出处:http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3310928 第1部分 TreeMap介绍 TreeMap 简介 TreeMap 是一个有序的key-

rest_framework-00-规范-APIview源码解析-认证

rest_framework-00-规范-APIview源码解析-认证 规范 支付宝: 接口开发 订单api----order 方式1:缺点:如果有10张表,则需要40个url. urls.py views.py 缺点:如果有10张表,则需要40个url.    接下来就出现了resrful 规范,比较简洁 方式2:resrful 规范(建议)  url简洁了,只有一条. 1. 根据method不同做不同的操作,示例:基于FBV: urls.py views.py 2. 根据method不同做不