Web开发-PHP应用TP框架MVC模型路由访问模版渲染安全写法版本漏洞
知识点:
1、安全开发-框架技术-ThinkPHP
2、安全开发-框架安全-版本&写法
3、安全开发-ThinkPHP-代码审计案例
一、演示案例-WEB开发-框架技术-ThinkPHP
开发手册参考:https://www.kancloud.cn/manual/thinkphp5/118003
这就是MVC
模型和常规源码不一样的地方
MVC
不局限于语言,其他语言也都有。
MVC流程
1、Controller截获用户发出的请求;
2、Controller调用Model完成状态的读写操作;
3、Controller把数据传递给View;
4、View渲染最终结果并呈献给用户。
MVC各层职能
1、控制器Controller层–负责响应用户请求、准备数据,及决定如何展示数据。
2、模块Model层–管理业务逻辑和数据库逻辑。提供连接和操作数据库的抽象层(过滤一般都在这里)
3、视图View层–负责前端模版渲染数据,通过HTML方式呈现给用户(一般都是html静态文件,也有少部分php)
1、配置架构-导入使用
入口配置
数据库配置
调试开关
2、路由访问-URL访问
URL访问模式
文件目录对应关系
3、请求变量-数据接受
请求对象,提交方法,助手函数等
4、数据库操作-应用对象
引用DB类,基本查询,助手函数等
第一步要先配置好数据库文件
5、前端页面渲染-MVC模型
引擎配置,渲染变量,模版输出等
二、演示案例-WEB开发-TP框架-写法安全
1、自写代码逻辑
自己不合规的代码写法
一半框架一半自写代码
框架标准内置代码写法
tp框架有自身的过滤逻辑,就算代码里没写过滤函数,也还是会有过滤干扰
2、框架版本安全
https://github.com/Mochazz/ThinkPHP-Vuln
写法内置安全绕过-TP5-SQL注入
内置版本安全漏洞-TP5-代码执行
三、演示案例-WEB开发-ThinkPHP-代码审计案例
WeMall-TP5框架开发