代码审计-7 ThinkPHP框架代码审计
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
ThinkPHP框架目录
applocation此目录为应用目录网站主要的文件控制器都放在`applocation`目录下
view此目录在applocation下为视图层
extend为扩展类库目录
public为网站对外访问目录也就是外部访问网站的入口文件
runtime为运行时的目录
thinkphp为框架的核心目录
vendor为第三方类库目录
build.php用于自动生成定义文件
其中比较重要的为applocation
和thinkphp
,extend
系统变量对应的路径
开启调试模式
application
下config.php
文件下修改app_debug
为true
此处路径对应为application
下的index文件
下的controller控制器
下的index.php
中的hello方法
页面介绍
use导入导入think\Controller后使用可直接使用其中的方法不加路径
namespace命名空间
assing第一个参数为页面中需要展示的参数第二个参数为传入的参数
fetch用于渲染模板文件输出
当访问此url
时会去访问路径application/index/controller/index.php
下的word
函数将abc
作为参数传入name
此时调用了word
函数将abc
作为值赋值给变量$name
通过assing()
将$name
中的值设置为页面view/index/word.html
中需要展示的参数的值fetch()
对页面进行渲染展示
数据库操作介绍
use think\Db
导入thinkphp
中自定义的操作数据库的方法
定义函数
设置Db文件
中的name
值为字符串user
在Db文件
中name
变量是用来存储表名的
执行Db文件
中的find方法
来根据表名查询数据查询出来的结果作为数组赋值给变量$data
将查询出来的数组通过assign
函数设置为页面需要展示的参数
fetch
函数将页面渲染展示
URL和路由访问
URL访问
这三个index
分别为index模块
下的application
中的index控制器
下的index方法
当使用驼峰命名法时HelloWorld.php
在url
中需要通过特殊的书写方式hello_world
去访问
在url
中将HelloWorld
替换为hello_world
自定义路由
当正常请求的url
太长了可设置自定义路由
路由配置文件在route.php
中
此路由意思为当访问hello
时路由自动转换为index/index/hello
并且hello
后需添加一个参数赋值给name
设置完自定义路由后原来的路由就会被代替无法使用并且如果route.php
下自定义路由中的参数加了中括号时url
访问时就可以不带参数
此处就相当于加载了application/index/controller/index.php
中的hello
方法并传入abc
为参数赋值给变量name
请求和响应
use think\Request
导入Request
instance()实例化一个类
url()获取当前url
传统调用方式
use
导入Request
后通过instance函数
将Request
实例化一个对象给$request
然后调用$requet
中的url方法
获取当前url
继承think\Controller
当继承了Controller
时可以不用实例化直接调用request类
中的url()
方法
自动注入请求对象
相当于在定义函数的时候在参数中就进行了实例化的操作
获取请求变量
param()
自动接收POST
GET
等方式传入的值
第一个参数为要赋值的变量第二个参数为默认值第三个参数为过滤方法
get()
或者post()
指定获取get
或者post
方式提交参数
助手函数input()
get.user
为接收get
方式传递的user
中的值
也可以接收post
、cookie
、file
等方式的值
数据库操作
use
导入数据库的类文件
Db::name
设置要查询的表名为data
where
设置查询的条件为id=1
find
进行查找操作