zoukankan      html  css  js  c++  java
  • 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,转义用户传递的数据,和接收参数。

  • 相关阅读:
    套接口编程理论基础:正常启动
    套接口编程理论基础:服务器进程终止
    套接口编程理论基础:处理SIGCHLD信号
    分区表、分区索引
    IPC通信:Posix消息队列读,写
    IPC通信:Posix消息队列的创建,关闭,删除
    RBAC的资料
    关于RBAC的学习资料
    RSS你会用了吗?答曰:不会
    RBAC的资料
  • 原文地址:https://www.cnblogs.com/xiaoyuqin/p/4287558.html
Copyright © 2011-2022 走看看