• 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,转义用户传递的数据,和接收参数。

  • 相关阅读:
    LC.225. Implement Stack using Queues(using two queues)
    LC.232. Implement Queue using Stacks(use two stacks)
    sort numbers with two stacks(many duplicates)
    LC.154. Find Minimum in Rotated Sorted Array II
    LC.81. Search in Rotated Sorted Array II
    LC.35.Search Insert Position
    前后端分离:(一)
    Redis基本使用(一)
    GIT篇章(二)
    GIT篇章(一)
  • 原文地址:https://www.cnblogs.com/xiaoyuqin/p/4287558.html
Copyright © 2020-2023  润新知