常见的php框架:laravel和thinkphp和yii
这里以thinkphp为例
thinkphp目录访问设置
这里只找到了这个3.多的源代码,没找点5.的,凑合一下
链接:GitHub - top-think/thinkphp: ThinkPHP3.2 ——基于PHP5的简单快速的面向对象的PHP框架
打开thinkphp的配置文件
我们访问主页显示笑脸就是引用的这个文件,修改它主页也会变成别的,所以主页是由这个文件所控制的
而这个框架是有一个引用关系的,直接访问主页是笑脸界面,那通过url是怎么样的引用关系
http://127.0.0.1/thinkphp-master/thinkphp-master/index.php/Home/index/index
而thinkphp的设计理念
就是入口文件/模块/控制器/参数
index.php/Home/index/index
index.php入口文件 Home模块 index控制器 index参数
我现在在主页文件多添加个参数,访问我添加的参数,主页也会发生变化
就变成了小迪
也可以多添加一个控制器及添加控制器的参数,造成页面不同
也可以正常的传参和显示
实战意义
看到这样的地址就可以看出来,c代表的模块,a代表的控制器,id代表的参数
这种看一下就很可能是框架开发的网站
举一反三,修改自己的tk
在创建一个模块xiaodi,第一个字母要大写
http://127.0.0.1/thinkphp-master/thinkphp-master/index.php/Xiaodi/index/xiaodi?x=1
访问这个目录,控制器还是index
成功输出来,这个是把模块改了,控制器并没有改
3.几的tk控制器有命名规则
改了一下才可以访问
tkphp的sql注入过滤
如果只是直接写一个变量接受提交方式进行传参,执行sql语句,没有过滤什么的那么一定有sql注入问题
这种就是$id=$_GET['x']
基础写法,会造成sql问题
and 1=2就会被接受执行
按照tk手册的官方写法
这样在后面在输入and 1=2就不会被带入执行,很安全,没有sql问题,按照tk的官方写法,tk就调用自身框架别的php对传参进行过滤,严格过滤
经过了那么多文件的过滤
tk使用手册的查询sql写法
使用官方写法就很安全,
也是很安全
然后这种最好就看看有没有网上公开的漏洞
果然日志泄露
jian
kang