程序员写在文案前:
本周技术分享,程序员小星想以“php框架代码审计”为题,与大众分享一下小星对代码的审计思路。但因为内容较多,此次小星先从兼容模式和path_info模式、命名空间、tp5的正常调用流程等七大部分与大众进行讨论。
(一)内容
1. MVC基本的架构
2. 漏洞挖掘
thinkphp、Yii、larevel
M 模块
V 界面
C 掌控器
MVC设计模式的优点?
1)解耦合 2)多接口、降低研发成本 3)高复用
(二)运用方式
application 应用目录(放自己的代码)
|---- admin 放后台文件
|________controller
|---- index 放前台文件
|________controller
public 入口文件
|---- index.php 网站的入口文件
thinkphp 核心文件
(三)拜访方式
thinkphp所有的都是用URL来实现。
thinkphp的拜访模式:
1)http://localhost/index.php/模块名叫作/掌控器的名/办法名/参数/vaulue
2)http://localhost/index.php/模块名叫作/掌控器的名/办法名?参数=value
模块名叫作:在application下,例如index文件夹是模块名。
掌控器的名:在index下有一controller,这个controller下有index.php,那他的掌控器的名便是index。
办法名:办法便是index.php下的有些办法名叫作。
构造URL:
http://localhost/index.php/index/Index/hello/name/11111
(四)兼容模式和path_info模式
1)tp运用兼容模式的写法:
http://localhost/index.php?s=index/Index/hello&name=1111
2)pathinfo拜访的模式:
http://localhost/index.php/index/Index/hello/name/11111
3)能够得到:
http://localhost/index.php?s=模块/掌控器/办法&参数=value
(五)关于命名空间
tp5遵循一个psr-4自动加载规范,他能够去自动加载类,必须恰当的、正确的命名空间。
一组的健康的、合格的tp5代码必须一个恰当的命名空间。
|