thinkphp5框架使用总结】的更多相关文章

PHP/ThinkPHP5 框架集成微博登录入库流程示意 第三方登陆这个东东,目前主要是 微信.微博.qq.淘宝.支付宝 等几个.他们都是基于oath2协议的.原理差不多.这里记录的是我测试的新郎微博登陆.请需要的同学参考下. 登录open.weibo.com进行开发者认证及网站审核,完成如图 下载地址这种没有技术含量的东西就不说了,把下载好的文件包放到任意目录,建议根目录,在这我专门建立了Oauth文件夹,因为还需要qq登陆,微信. 所有文件如下: saetv2.ex.class.php 这个…
前言: 昨天爆出了ThinkPHP5框架缺陷导致远程命令执行,大佬们都赶上潮流挖洞,小白还是默默学习一下这个漏洞 漏洞影响范围: Thinkphp 5.1.0 - 5.1.31 Thinkphp 5.0.5 - 5.0.23 漏洞产生原因: Thinkphp5.x版本(5.0.20)中没有对路由中的控制器进行严格过滤,在存在 admin,index 模块.没有开启强制路由的条件下(默认不开启),导致可以注入恶意代码利用反射类调用命名空间其他任意内置类,完成远程代码执行. 漏洞分析: 既然是没有正…
本文将结合实例,讲解如何使用thinkphp5+Mysql完成注册帐号.发送激活邮件.验证激活帐号.处理URL链接过期的功能. 业务流程 1.用户提交注册信息. 2.写入数据库,此时帐号状态未激活. 3.将用户名密码或其他标识字符加密构造成激活识别码(你也可以叫激活码). 4.将构造好的激活识别码组成URL发送到用户提交的邮箱. 5.用户登录邮箱并点击URL,进行激活. 6.验证激活识别码,如果正确则激活帐号. 准备数据表 用户信息表中字段Email很重要,它可以用来验证用户.找回密码.甚至对网…
又看到请求这一部分,个人认为这部分是算重要的一部分 单独记一篇笔记. 0x01 request请求对象 如果要获取当前的请求信息,可以使用\think\Request类,完全开发手册中也有提到,继承系统控制器类可以直接调用 Request 类 来看看thinkphp中的源码: /** * 构造方法 * @param Request $request Request对象 * @access public */ public function __construct(Request $request…
重新整理下学习tp5手册的笔记.自己再好好看一次tp5的开发手册,学到哪里记到哪里. 0x01 安装 Composer安装 ThinkPHP5支持使用Composer安装 curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer Git安装 应用项目:https://github.com/top-think/think 核心框架:https://github.com/top-…
二话不说,先上代码: 第一中: 不用再本地保存文件,直接在前台页面显示: 这是控制器里面的内容,哦,对啦,首先要下载SDK:.phpqrcode类文件下载,下载地址:https://sourceforge.net/projects/phpqrcode/ 插件只要:下载下来的类文件是一个压缩包,里边包含很多文件和演示程序,我们只需要里边的phpqrcode.php这一个文件就可以生成二维码了.它是一个多个类的集合文件,我们需要用到里边的QRcode类(第2963行)的png()方法(第3090行)…
框架修改的地方 vendor/topthink/think-captcha/src/Captcha.php api验证码入库 196行 $img_code = strtoupper(implode('', $code)); $model = new \app\common\model\ComCodeimg(); $model->saveCode($img_code,input('id')); thinkphp/library/think/Validate.php 配合前端js, 写session…
一.路由的模式 普通模式(默认pathinfo,不解析路由) 'url_route_on' => false 混合模式(pathinfo+解析路由) 'url_route_on' => true, 'url_route_must'=> false, 强制模式(必须路由) 'url_route_on' => true, 'url_route_must' => true, 二.动态注册路由 1.动态注册路由 Route::rule('路由表达式','路由地址','请求类型','路…
在日常的开发测试中我们经常会遇到本地开发和测试或者线上配置参数不同的场景,必要你要是使用一个三方的支付,它的本地测试和线上的key值或者账号存在不同.最基本的做法是本地用测试参数,提交到测试的时候再改参数.这种做法比较繁琐. 此时我们完全可以使用下面降到的方法,根据项目运行环境来自动加载参数.活不多说请看下文讲解: 先看目录结构 project 应用部署目录├─application 应用目录(可设置)│ ├─common 公共模块目录(可更改)│ ├─index 模块目录(可更改)│ │ ├─…
摘要 近日thinkphp团队发布了版本更新https://blog.thinkphp.cn/869075 ,其中修复了一处getshell漏洞. 影响范围 5.x < 5.1.31<= 5.0.23 危害 远程代码执行 漏洞分析 以下漏洞分析源于斗鱼SRC公众号:斗鱼安全应急响应中心分析补丁:802f284bec821a608e7543d91126abc5901b2815路由信息中controller的部分进行了过滤,可知问题出现在路由调度时.以5.1.23版本进行分析,执行路由调度的代码如…