ThinkPHP

tp6中swoole扩展websocket的使用

杀马特。学长 韩版系。学妹 提交于 2020-08-19 22:08:48
相信不少人都已经知道tp6.0已经适配swoole.并推出think-swoole 3.0 ,这次就来介绍下tp6中swoole扩展websocket的使用。 Websocket 继承与Http,进行websocket连接之前需要一次HTTP请求,如果当期地址支持websocket则返回101,然后进行连接。也就是说并不是服务支持websocket后,请求每个连接地址都可以进行websocket连接,而是需要预先适配才可以连接。 thinkphp6.0中新增的一项就是Event,websocket服务这块依赖于Event,因此我们需要先创建一个Event listener php think make:listener WebsocketTest 执行过后,将会在app目录下看到新增的目录和文件 其中handle是用来处理事件。 参考如图进行修改 class WebsocketTest { public $websocket = null; /** * 注入容器管理类,从容器中取出Websocket类,或者也可以直接注入Websocket类, */ public function __construct(Container $container) { $this->websocket = $container->make(Websocket::class); } /** *

PHP 控制反转(IOC)与依赖注入(DI)

和自甴很熟 提交于 2020-08-18 14:42:29
概念 IOC与DI 据我了解其实早期是JAVA的理念,长期并不被PHP业界接受,因为PHP的理念是简单高效,但是长期的发展使得PHP必须为了工程规范和开发解耦必须走上这条路。Laraval框架为PHP的发展带来了的理念,逐步的各大框架都开始走上了标准化的开发步伐。这其中包含了ThinkPHP、EasySwoole、Swoft等等。 控制反转 传统的开发模式如果我们想要的到一个对象,我们必须去使用new。 这种方式的类控制权限在人的手中,是程序需要的时候认为主动创建依赖的对象( 见下图1-1 )。 // 图 1-1 // 通常的依赖注入模式 class Course { protected $user; public function __construct(User $user) { $this->user = $user; } } 依赖注入 前者说控制反转中,系统会将所有的请求单例Bean或者 全局单例Bean 保存在专用的IoC 容器当中,根据代码的需要 选择性的注入对应的需求类,注入的类 由IoC 容器管理, 降低程序的耦合,使得开发人员只需要关注对应的业务逻辑。 两者之间的关联 可以说两者是相辅相成的,依赖注入依靠IOC 控制反转,是IOC的最终目的,而 IOC 对于 依赖注入 是其实现的前提。 这里我们举个栗子 , 其实 PHP的composer

GITEE 上 TOP5 PHP 开源小程序盘点

寵の児 提交于 2020-08-17 20:02:24
来客推电商 ★ 3.8k 精致电商,来客, [ 微信 + 支付宝 + 百度 + 头条 ] 小程序 + APP + 公众号 + PC + H5,注重界面美感与用户体验,打造独特电商系统生态圈,不可多得的二开神器。 【PHP商城系统 分销商城 多用户商城 Saas O2O商城 B2B2C 小程序直播】 软件架构: PHP5.6+、 MYSQL5.5+、Uni-app、原生小程序、原生IOS、原生Android、 自主研发框架(古典式开发框架,附30分钟快速入门教程) 官方QQ群: 631252151 ,340645969 开源版源码下载地址: http://www.laiketui.com/download github下载地址: https://github.com/bettershop/LaikeTui 最新后台体验: http://www.laiketui.com/action/ 开发者文档: http://www.laiketui.com/docs/%e5%bc%80%e5%8f%91%e6%96%87%e6%a1%a3 ​​​​​​​ 萤火小程序商城 ★ 3.4k 萤火小程序商城是B2C模式的电子商城,是在Thinkphp5基础上搭建的一个PHP项目,前后端全部开源。Thinkphp5以易学易用著称,同时也方便二次开发,让您快速搭建个性化独立商城。 Jshop小程序商城 ★

FastAdmin 社区精华文章 (2020-04-30)[78.99%]

99封情书 提交于 2020-08-16 03:52:39
FastAdmin 社区精华文章 FastAdmin 是一款基于 ThinkPHP + Bootstrap 的极速后台开发框架 官网: https://www.FastAdmin.net 问答: https://ask.FastAdmin.net Git 仓库: https://gitee.com/karson/fastadmin 社区精华文章 FastAdmin 文档: https://doc.FastAdmin.net ThinkPHP 文档: https://www.kancloud.cn/manual/thinkphp5 FastAdmin 学习线路 https://ask.fastadmin.net/question/1789.html 一分钟带你入门 RequireJs 并了解FastAdmin中JS是如何调用的 https://ask.fastadmin.net/article/6505.html 一张图解析FastAdmin中的表格列表的功能 https://ask.fastadmin.net/article/323.html 一张图解析FastAdmin中的FormBuilder表单生成器 https://ask.fastadmin.net/article/5567.html 一张图解析FastAdmin中的弹出窗口的功能 https://ask

thinkphp无限分类模块实现

岁酱吖の 提交于 2020-08-15 06:31:04
数据表结构如下: 控制器核心代码: <? php namespace app\index\controller; use think\Controller; class Goods extends Controller { public function product_category() { return $this -> fetch(); } public function product_category_add() { $m = Model('goods_type' ); // 根据paths进行排序 // \对,进行转义,因为本身是作为分隔符使用 $data = $m ->field("*,concat(path,'\,',id) as paths")->order('paths')-> select(); foreach ( $data as $k => $v ){ // 根据level的值,决定需要循环几次,生成分割线 $v ['name'] = str_repeat ("|------", $v ['level']). $v ['name' ]; } $this ->assign('data', $data ); return $this -> fetch(); } // 添加分类 public function goods_type_add(){ if ( $

thinkphp 6.0 phpstan配置

牧云@^-^@ 提交于 2020-08-14 17:01:05
首先是composer { "require-dev": { "symfony/var-dumper": "^4.2", "topthink/think-trace": "^1.0", "phpstan/phpstan": "^0.12.33" }, "autoload": { "psr-4": { "app\\": "app" }, "psr-0": { "": "extend/" }, "files": [ "app/common.php", "vendor/topthink/framework/src/helper.php" ] }, "scripts": { "start": "php think run", "analyze": "vendor\\bin\\phpstan analyse --memory-limit 300M -l 0 -c phpstan.neon ./app ./extend", "post-autoload-dump": [ "@php think service:discover", "@php think vendor:publish" ] } } 在require-dev增加了phpstan/phpstan,在autoload下增加了files,在scripts增加了analyze phpstan.neon # Magic behaviour

网站渗透测试 PHP代码漏洞挖掘

微笑、不失礼 提交于 2020-08-14 10:22:27
国内学习漏洞挖掘的习惯所谓奠定基础,学习各种编程书籍,然后学习漏洞挖掘,问题是不可能控制学习编程的程度。其次,外国学生通常必须学习这一过程,初学者最好不要上手就去搞漏洞挖掘,因为漏洞挖掘需要很多的系统基础知识和一些理论知识做铺垫,而且难度较大,较合理的途径应该从漏洞利用入手,不妨分析一些公开的CVE漏洞。很多漏洞都有比较好的资料,分析研究的多了,对漏洞的认识自然就不同了,然后再去搞挖掘就会易上手一点!俗话说:“磨刀不误砍柴工”,就是这么个理儿。对于有一些基础知识的初学者,应该怎样进行漏洞挖掘呢? 因为我们不会深入研究编程技术,所以我们主要学习漏洞挖掘。我想从掌握语言基本语法的概念开始,使用函数,编写一些演示。用底部查看前面的漏洞分析文章,过程中会发现劳动点,从而使目的遵循相关的编程点。而不是小吃编程书。 例如,学习php漏洞挖掘:首先掌握php的基本语法,并经常使用php函数编写一些演示常用的php函数。然后开始查看以前的php应用程序漏洞分析文章,从基本漏洞开始,比如简单的get、post,由于强制转换而没有intval或sql注入,比如没有html特殊char引起的简单xss。看看这些基本的东西,我们已经受够了。 然后我们研究了一些更高级的漏洞的使用,比如覆盖漏洞的各种变量,比如由unserialize引起的代码执行,我们可能首先会发现这些漏洞很困难

关于学期结束的一些题目的记录

隐身守侯 提交于 2020-08-12 13:44:50
感觉也是有点莫名其妙的自己就步入了大二生活。开学了,当然又不能写博客了。边做边记录,可能不太详细哈。 为这篇水文来个目录。 可以看一下感兴趣的地方。 文章目录 一.CTF题目 1,php_rce 2,open-source 3,give_you_flag 4,功夫再高也怕菜刀 5,stegano 6,Railfence 7,simple-unpack 8,SimpleRAR 9,ics-06 10,easy_RSA 11,国外平台注入题目 二.漏洞复现 三.靶场应用 1,sqli-labs 2,OSCP练习-lazysysadmin靶场 四,蓝队学习 五.kali工具使用 六.CISSP题目记录 七.近期的使用问题 八,自娱自乐,提高逆向兴趣, 九.自己的闲话(简称:瞎逼逼) 一.CTF题目 1,php_rce 打开题目发现这考的应该是一个thinkphp版本5的漏洞复现。 属于thinkphp5 rce的漏洞。 一个远程代码执行漏洞。 我们对这个漏洞的补丁进行分析(其实在现在中也要关注各种各种补丁的发布,逆向出来看与原来有什么不同,找不到0day,实力np的话,1day也是要有的) 代码审计后发现补丁对控制器名称进行了过滤。 查看我们可以利用什么,调用什么。 步骤: 1,设置控制器为\think\App,便可以构造payload调用其方法invokeFuction 2,发现通过$