• 2024-07-01uniapp+thinkphp5实现微信登录
    前言之前做了微信登录,所以总结一下微信授权登录并获取用户信息这个功能的开发流程。配置1.首先得在微信公众平台申请一下微信小程序账号并获取到小程序的AppID和AppSecrethttps://mp.weixin.qq.com/cgi-bin/loginpage?url=%2Fwxamp%2Fwacodepage%2Fgetcodepage%3Ftoken%3D4180
  • 2024-05-22thinkphp5遇到必须使用Db::raw方法而无法使用json格式传递Db对象
    今天使用Thinkphp5做异步任务传递where参数时遇到一个问题:有一段如下代码:$where['jst.supplier']=['exp',Db::raw('>0orjst.is_supplier=1')];在使用swoole做异步任务时需要把where参数传递给异步任务处理,因为无法传递数组和对象只能传递字符串,所以需要把where数组转换
  • 2024-04-20Thinkphp5.x全漏洞复现分析
    基础知识命名空间和子命名空间我们可以把namespace理解为一个单独的空间,事实上它也就是一个空间而已,子命名空间那就是空间里再划分几个小空间,举个例子:<?phpnamespaceanimal\cat;classcat{publicfunction__construct(){echo"meow"."\n";}}namespacean
  • 2024-01-16thinkphp5详细使用阿里云短信最新版
    1.我们下载官方完整包,PHP版本 https://help.aliyun.com/document_detail/55359.html?spm=5176.doc55451.6.580.3rgXTq 解压后得到目录2.将目录里的api_sdk复制出来到tp5根目录的extend下面文件夹复制过去后,我们最好更改一下名称,比如我们更改为alisms。 3.使用方法直接
  • 2023-12-18mamp nginx thinkphp5 配置方法
    thinkphp5的nginx配置,官方文档参考: http://static.kancloud.cn/manual/thinkphp5/177576fastadmin的nginx配置,官方文档参考:https://doc.fastadmin.net/doc/faq.htmlserver {        listen       80;        server_name  www.fa.com *.fa.co
  • 2023-11-12ThinkPHP5漏洞分析之SQL注入1
    漏洞概要本次漏洞存在于Builder类的parseData方法中。由于程序没有对数据进行很好的过滤,将数据拼接进SQL语句,导致SQL注入漏洞的产生。漏洞影响版本:5.0.13<=ThinkPHP<=5.0.15、5.1.0<=ThinkPHP<=5.1.5。漏洞环境通过以下命令获取测试环境代码:composercreate-proje
  • 2023-11-12ThinkPHP5漏洞分析之SQL注入2
    漏洞概要本次漏洞存在于Mysql类的parseArrayData方法中由于程序没有对数据进行很好的过滤,将数据拼接进SQL语句,导致SQL注入漏洞的产生。漏洞影响版本:5.1.6<=ThinkPHP<=5.1.7(非最新的5.1.8版本也可利用)。漏洞环境通过以下命令获取测试环境代码:composercreate-pro
  • 2023-11-12ThinkPHP5漏洞分析之SQL注入3
    漏洞概要本次漏洞存在于Mysql类的parseWhereItem方法中。由于程序没有对数据进行很好的过滤,将数据拼接进SQL语句,导致SQL注入漏洞的产生。漏洞影响版本:ThinkPHP5全版本。漏洞环境通过以下命令获取测试环境代码:composercreate-project--prefer-disttopthink/think=
  • 2023-11-12ThinkPHP5漏洞分析之SQL注入4
    漏洞概要本次漏洞存在于Mysql类的parseWhereItem方法中。由于程序没有对数据进行很好的过滤,直接将数据拼接进SQL语句。再一个,Request类的filterValue方法漏过滤NOTLIKE关键字,最终导致SQL注入漏洞的产生。漏洞影响版本:ThinkPHP=5.0.10。漏洞环境通过以下命令获
  • 2023-11-12ThinkPHP5漏洞分析之SQL注入5
    漏洞概要本次漏洞存在于Builder类的parseOrder方法中。由于程序没有对数据进行很好的过滤,直接将数据拼接进SQL语句,最终导致SQL注入漏洞的产生。漏洞影响版本:5.1.16<=ThinkPHP5<=5.1.22。漏洞环境通过以下命令获取测试环境代码:composercreate-project--prefer-dist
  • 2023-11-12ThinkPHP5漏洞分析之SQL注入6
    漏洞概要本次漏洞存在于所有Mysql聚合函数相关方法。由于程序没有对数据进行很好的过滤,直接将数据拼接进SQL语句,最终导致SQL注入漏洞的产生。漏洞影响版本:5.0.0<=ThinkPHP<=5.0.21、5.1.3<=ThinkPHP5<=5.1.25。不同版本payload需稍作调整:5.0.0~5.0.21、5.1.3~5.1.
  • 2023-11-06Thinkphp5判断是否使用手机访问,TP5如何区分PC端还是手机端访问?
    判断用户是否使用手机端访问,这个是我们做web研发时经常遇到的一个功能点。一个很简单的功能点,解决方案也有很多种,比如使用原生PHP通过分析UA来判断。但如果你的后端用的是ThinkPHP5框架的话,解决这个功能点就更简单了,因为TP5的源码中已经封装好了,我们可以直接使用。 12
  • 2023-10-24thinkphp5 使用group查询最新的一条记录
    thinkphp5示例://子查询主要的在MAX(create_time)$subQuery=Db::table('fa_crm_record')->field('customer_id,MAX(create_time)AScreate_time')->group('customer_id')
  • 2023-08-29thinkphp5 日期+group by + 分页paginate查询
    <?php//根据日期来统计所消耗的点数//模型的使用方法$result=$model->field("id,FROM_UNIXTIME(createtime,'%Y-%m-%d')as`createtime`,sum(price)ascount_price")->group("FROM_UNIXTIME(createtime,'%Y-%m-%d'),store
  • 2023-08-29ThinkPHP5 SQL注入漏洞 && 敏感信息泄露
    ThinkPHP5SQL注入漏洞&&敏感信息泄露启动后,访问http://10.10.10.154/index.php?ids[]=1&ids[]=2,即可看到用户名被显示了出来,说明环境运行成功。漏洞利用访问http://10.10.10.154/index.php?ids[0,updatexml(0,concat(0xa,user()),0)]=1,信息成功被爆出:当然,这是一个比较鸡
  • 2023-08-16thinkphp5框架的model支持多地区数据库切换
    1、说明一般情况下,都是在model中指定一个数据库连接参数即可。但某些情况下,相同的库表会在不同地区都有部署,这个时候需要按地区进行切换(只有一个model情况下)。2、多model继承方式Model层代码//A地区的数据库classAextendsModel{protected$connection='xxx';
  • 2023-07-04thinkphp5常用命令
    控制器定义namespaceapp\index\controller;classIndex{publicfunctionindex(){return'index';}}模型定义namespaceapp\index\model;usethink\Model;classUserextendsModel{}设置主键protected$pk='uid';设置
  • 2023-04-07thinkphp5个推SDK
    首先先下载个推官方的sdk直接在根目录下composerrequiregetuilaboratory/getui-pushapi-php-client-v2如果报错请用composerrequiregetuilaboratory/getui-pushapi-php-client-v2dev-master下载以后文件会在vendor目录下 composer下完以后,直接new\GTClient这样
  • 2023-02-19thinkphp5或者fastadmin自定义标签,实现副栏目的调用
    学着写了一下,终于搞定了,顺便分享一下!taglib是tp框架自定义标签功能,如果你用过cms,肯定见过类似:{dede:arclisttypeid=''row=''col=''titlelen=''infolen=''orderby=
  • 2023-02-03ThinkPHP5 whereTime()使用方法
    根据时间戳查询今天到后天db('table')->whereTime('time','between',[strtotime(date('Y-m-d')),strtotime(date('Y-m-d',strtotime('+2day')))])->select();根据
  • 2023-01-11ThinkPHP5 + predis 环境配置
     首先,下载Predis源代码,地址:https://github.com/nrk/predis/tree/master。将代码至于/vendor  目录下,代码结构如下:  2.创建Redis.php文件【方便引用】路径:\thinkphp
  • 2023-01-06nginx 安装 配置 支持 访问 thinkphp5
    server{//这个在windows下配置是ok的,linux下不知道是否可以生效!待后续验证listen8999;server_namelocalhost;location/{root/
  • 2023-01-01thinkphp5框架使用总结
    一.路径访问方式http://网址/index.php/模块/控制器/操作.html其中:1.模块就是application下的一个文件夹2.控制器就是这个文件夹下面controler里的一个php文件3.操作就是
  • 2022-12-01thinkphp5 页面顶部空行问题
    如果再控制器末尾保留空行会导致输出的页面中也存在空行 
  • 2022-11-09学习笔记-ThinkPHP5之SQLI审计分析(二)
    ThinkPHP之SQLI审计分析(二)Time:9-3影响版本:ThinkPHP=5.0.10Payload:/public/index.php/index/index?username[0]=notlike&username[1][0]=&username[1][1]=&userna