前言
MVC框架是代码审计必需学习的知识,这里以TpV3.2.3框架为例,进行一次对MVC框架代码的漏洞审计,简单学一下MVC的相关知识,希望对正在学习MVC框架的师傅有所帮助。
框架
我们这里首先需要了解一下什么是MVC架构,
具体如下图
如果想对MVC框架进行进一步了解,可以参考https://www.kancloud.cn/manual/thinkphp/1698
接下来我们需要了解一下ThinkPHP框架。
TP3
如果想了解Tp3常见的操作,可以看一下这篇文章
https://blog.csdn.net/spc007spc/article/details/103489711
目录文件
Tp3的目录如下所示
www WEB部署目录(或者子目录)
├─index.php 入口文件
├─README.md README文件
├─Application 应用目录
├─Public 资源文件目录
└─ThinkPHP 框架目录
通俗的说的话,这里的index.php
就是提供一个对外的接口,Public
就是存放一些公共资源的地方,ThinkPHP
是我们的核心框架,其内容如下:
├─ThinkPHP 框架系统目录(可以部署在非web目录下面)
│ ├─Common 核心公共函数目录
│ ├─Conf 核心配置目录
│ ├─Lang 核心语言包目录
│ ├─Library 框架类库目录
│ │ ├─Think 核心Think类库包目录
│ │ ├─Behavior 行为类库目录
│ │ ├─Org Org类库包目录
│ │ ├─Vendor 第三方类库目录
│ │ ├─ … 更多类库目录
│ ├─Mode 框架应用模式目录
│ ├─Tpl 系统模板目录
│ ├─LICENSE.txt 框架授权协议文件
│ ├─logo.png 框架LOGO文件
│ ├─README.txt 框架README文件
│ └─ThinkPHP.php 框架入口文件
路由格式
Tp3提供了多种路由格式,这里的话对其进行简单介绍。
pathinfo模式
pathinfo 模式,是ThinkPHP的默认模式,其规范格式如下:
示例如下
它的优点显而易见, 简化了URL地址。
普通模式
普通模式的规范格式如下
示例如下
兼容模式
兼容模式的规范格式如下
示例如下
而后去TP的根目录,写一个.htaccess
文件,内容如下
接下来重启phpstudy
此时就配置好了。(如若是linux环境,可参考此文https://blog.csdn.net/zhazhaji/article/details/80493513)
rewrite的规范格式如下
其实相比于默认模式就是少了个入口文件,看着更简洁了一些。
示例如下
暂无评论内容