路由在框架中的作用打个比方的话,路由好比是WEB应用的总调度室,对于访问的URL地址,路由可以拒绝或者接受某个URL请求,并进行分发调度,而且还有一个副作用是因为路由规则可以随意定义,因此可以让你的URL请求地址更优雅,因为不会暴露实际的URL地址,也就意味着更安全——《ThinkPHP5路由完全指南》
拿到的是一个代理网站,简单先观察了下网站,发现使用的是PHP+ 宝塔 +Tp5框架的网站。通过弱口令进入后台任意文件上传拿shell。也不知道说啥,直接记录步骤吧
DNMP(Docker + Nginx + MySQL + PHP7/5 + Redis)是一款全功能的LNMP一键安装程序。支持的服务丰富、功能强大、使用简单、兼容多平台。是适用于多端的一款docker开发与生产环境的PHP环境全家桶。
作者:matrix 被围观: 3,741 次 发布时间:2016-12-31 分类:零零星星 | 无评论 »
我这里选择的是使用 windows 下的 composer 进行安装,收下首先下载 composer 这个工具,安装完成以后进入我们想要创建项目的文件夹输入下面的命令
本节来说下Git 的提交历史,在日常开发中我们每天都在提交自己的更新代码之仓库,那么作为管理人员或者自己如何来查看提交了哪些呢?
安装步骤 不懂的可在评论留言 我看到会第一时间回复! 注意系统无法兼容https协议请勿配置https协议
TP5: M 方法 替换为 Db::name、S 方法 替换为 session、I 方法 替换为 input、U 方法 替换为 url
在tp5版本的时候日志中保存了全部的请求信息,保存了请求地址 请求方法 请求路由 请求头 请求参数,但是在tp6中官方取消了。官方解释说由于日志记录了所有的运行错误,因此养成经常查看日志文件的习惯,可以避免和及早发现很多的错误隐患。但是我觉得不方便我定位线上问题,于是把tp5源码中的部分移植到tp6中,tp5中大部分放在tp底层,为了不破坏tp框架我把代码放到中间件中进行继承,所有中间件全部继承此代码。自动记录请求信息。
由于TP5框架的一些特性规则,在nginx下导致跨目录的一些访问不能执行 最开始我尝试配置文件夹目录,导致出现各种奇葩错误,然后搜了以下资料发现原来只要简单的修改几个配置文件即可。 声明系统环境: **系统:Centos6.+版本 ** **TP框架:5.0+ 版本 ** **使用lnmp一键安装包安装环境(配置文件地址在其官网有写) ** 首先修改网站根目录: 我个人的config文件在如下地址: /usr/local/nginx/conf 随后找到: nginx.conf 并且打开文件找到如下设置:
目前 LNMP 一键安装包已经是 1.5 的版本了,一个朋友找我帮她看服务器环境的时候出现了这个问题,修改伪静态目录不生效
本文实例讲述了从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记。分享给大家供大家参考,具体如下:
目前解决这种问题最佳的方法有Docker(生产环境line)、Vagrant(用于开发环境dev)。
本文实例讲述了Thinkphp5框架实现获取数据库数据到视图的方法。分享给大家供大家参考,具体如下:
目录结构异同,tp5核心框架是项目根目录thinkphp下 , tp6是vendor的topthink 安装方式 tp6只能通过composer安装 类的加载方式 tp5采用自己的一套实现加载方式+composer部分加载方式 tp6采用composer类的加载方式 tp6使用严格模式而tp5没有使用 tp6支持更多的PSR规范(https://learnku.com/docs/psr)
如菜单标识入口设置为cms,就是对应的site.php中doWebCms方法 在该方法中,把小程序,公众号等key和secret等放到session中,然后跳转到tp5的入口文件即可。 有点需要注意,TP5的session前缀默认是think,所有直接seesion::get()是获取不到微擎session的
当你在tp5框架中写方法时返回一个数组时,tp5会报错:variable type error: array
本SDK使用静态方法分模块调用 支持模块及下属方法提示 开发更便捷 同时支持多微信支付接口共同使用
Yii2.0使用一年多了,最近因为原来公司狗带了,换了公司,开始使用tp5.0。之前也有使用过tp3.2的框架,但是每次问及各个框架之前的区别的时候,总是不觉得有什么区别。但是从目前对tp5一周的使用时间来看,tp5相对于yii2来说,确实是弱爆了。
作者:matrix 被围观: 10,167 次 发布时间:2018-05-08 分类:零零星星 | 5 条评论 »
2)引入loader类。(tp5\thinkphp\library\think\Loader.php)
TP5和TP6版本之间的差异: ThinkPHP6.0运行环境要求PHP7.1+,不支持5.1的无缝升级
php框架有助于促进快速应用开发,不仅节省时间,有助于建立更稳定的应用,而且,减少了重复代码。本文章采用图文模式将记录学习thinkphp5的开发,一定做到最详细,最适合新手,本文章适用于对php、HTML有一定基础的同学,由于需要适合新手该系列更新将非常慢,如果对于有错误的还请指出,本文仅对tp5做一个大体的认识
1.在tp5中,application目录是应用目录,程序员可以在这个目录中写自己的代码。
在TP5的post提交方式中,有一个坑爹的bug就是post提交数据不能提交数组。 请注意是不能提交数组形式的数据,而不是单纯的数据。举个例子:注意以下2种格式数据的比较: 第一种:普通的数据提交,这种格式的数据在TP5中用post提交,$request->post(‘参数’);可以接受数据。
TP5 使用DB类过滤非数据在 TP5 中 提供了一个DB类 strict(false)可以自动过滤非数据库字段的数据 例子 Db::name(‘node’)->strict(false)->insertGetId($params)库字段
字符格式化,有两种方式: 1、通过%占位符方式,%s,%d,% 2、通过format,其中format比较好用,可以居中、可以用%、可以用二进制、可以填充字符自定义; 1、利用%的案例 tp1="i am %s"%"aaa"# tp2="i am %s age %d"%("alex",18)#顺序关联 tp3="i am %(name)s age %(age)d"%{"name":"alex","age":18}#指定名称,起名字 tp4="percent%.2f"%99.567#保留小数点几位 tp5="
下载安装脚本 - composer-setup.php - 到当前目录。 执行安装过程。 删除安装脚本。
参考了网上的一些教程,过程有点曲折。参考教程地址:www.cnblogs.com/lyh940/p/70…
声明:适用于懒人 常规对于这个什么鬼取不到值我也是很绝望的,通常都是看一遍手册就开始写,除非是在没事才跟你认认真真看,所以,我们这类懒人就非常尴尬了,只能动不动查手册。 tp5也出很久了,本人出问题的版本是5.0,5.1我实在懒得下。。。 言归正传,直接上解决办法发:
文章的灵感来自于此文ThinkPHP3.2.3框架实现安全数据库操作分→https://xz.aliyun.com/t/79
本文实例讲述了thinkPHP5框架连接数据库的方法。分享给大家供大家参考,具体如下:
3.如果正确,则跳转$this->redirect('student/all');到控制器student中的全部查询方法all()
1 目录结构的异同 tp5核心框架是项目根目录thinkphp下 , tp6是vendor的topthink
各位小伙伴们大家好,冷月今天在做项目的过程中呢,遇到了一个坑就是用tp5的模型操作数据库时,返回的是数据集而不是直接的数组。于是冷月就想办法如何将数据集转为数组。写下这篇博文,防止大家遇到这个坑时可以更快的解决。
在thinkPHP模型查询中,一般有两种方式:数组方式和闭包方式,相对于数组方式只能定义查询条件,闭包方式可以支持更多的连贯操作,包括排序,数量限制等。
在这里,该 模板中包含了head.html模板文件,相当于把head.html所有代码复制了本模板
本文实例讲述了TP5(thinkPHP5)框架基于ajax与后台数据交互操作。分享给大家供大家参考,具体如下:
本文实例讲述了tp5框架内使用tp3.2分页的方法。分享给大家供大家参考,具体如下:
其中 $map 是一个普通的数组变量,可以根据自己需求而命名。上述格式中的表达式实际是运算符的意义:
业余学习PHP好大一段时间了,初次接触这个框架,很多资料都是3.x的,特别目录文件也是傻瓜式生成。作为新一代的TP5.0之后好像之前的方式不能用了,可以自定义生成的目录和文件,这个听起来貌似很方便也很灵活。所以开始动手以下操作.
近期使用Thinkphp5.1做项目,在本地测试完好的代码,放到服务器上就500错误,开启显示PHP错误日志也不会有任何信息显示出来。最后发现是文件夹读写权限的问题(罪魁祸首是TP5.1的ROOTPATH识别有误)。我的thinkphp路径是/wwwroot/thinkphp/,入口文件路径是/wwwroot/web2/index.php,TP5的ROOTPATH会判断为/wwwroot/。而TP5加载时需要访问2个目录EXTEND_PATH 扩展类库目录(默认为 ROOT_PATH . 'extend/') 和VENDOR_PATH 第三方类库目录(默认为 ROOT_PATH . 'vendor/') 就会出错。本来应该是/wwwroot/thinkphp/extend,它却要去访问/wwwroot/extend,自然就要出错了。vendor目录也是这样。
靶机下载地址:http://vulnstack.qiyuanxuetang.net/vuln/ win7(双网卡): 192.168.1.18外网) 192.168.138.136(内网)
随后你需要打开数据库的配置文件,目录为 application/database.php 设置好对应的数据库名,填写好密码
tp5最近爆了个rce,最先看到是在斗鱼src公众号上发的分析文章,这么大的洞,到了第二天那些什么安全网站连个预警都没有,估计tp5的站都被撸穿了。
在使用tp5时候把它部署到服务器上发现一个奇葩的事情,就是它默认访问config配置的默认页,无论怎么跳转到其他接口都不好使,最终重写了 Nginx 的配置文件解决了这个问题
前几天客户提出一个需求,就是在前台页面搜索文章时,若搜索词在文章附件的pdf文件中有出现的话就要将该文章作为搜索结果。我的思路是后台发布文章时循环检测每一个附件的格式,若附件格式为pdf的话就将里面的文字读取出来 追加到一个$string变量里,然后将$string的作为一个file_text字段的信息保存到数据库后面做搜索的时候使用。
这几天在做tp5的上传文件模块,项目需求是要把文件名在上传之后修改为 用户名+原文件名的组合形式,在网上找了一会儿发现好像没有类似的文章。。。只好自己去研究研究了。
对于apk,我可以说只会安装,并不知道其中有什么内容需要记录下来。这次公司做一个关于电视机顶盒的项目。对于这个陌生的项目,刚开始真是一脸懵逼,完全不知道如何下手。
领取专属 10元无门槛券
手把手带您无忧上云