文章

PHP 网络编程:构建 MySQL 蜜罐获取攻击者微信 ID

启动一个 TCP 服务伪装成 MySQL 服务,当有人通过客户端连接进来时,不管用什么账号密码都提示登录成功,然后利用 MySQL 通信机制可以读取客户端所
2021-04-07
4 分钟阅读时长

使用 Workerman 接入 Bilibili 直播弹幕协议

弹幕协议由头部和数据组成,头部的长度是固定的 16 字节,数据的长度 = 数据包总长度 - 头部的长度。协议的字节序均为大端模式。高字节在低地址,低
2021-04-01
7 分钟阅读时长

使用 GitHub Actions 自动部署 Hexo

目前部署 Hexo 的操作比较麻烦,先在本地执行 hexo clean && hexo d 生成博客静态文件并发布到 GitHub 上,然后通过 XShell 登录
2021-03-30
3 分钟阅读时长

什么是二进制安全

众所周知,C 语言中使用字符数组来表示字符串,并在字符串末尾使用空字符 \0 标识字符串结束。 如果字符串中包含 \0 或者二进制数据,就会导致
2021-03-25
3 分钟阅读时长

【转载】PHP 程序员进阶之路

已经 1368 年了,你扪胸自问,没有了 Nginx 的你,还能用 PHP 做什么。有一些高端的刁民会愤怒地说:“有 Swoole 啊,有 Workerman 啊!”,那么,有两个问题需要回答
2021-03-23
4 分钟阅读时长

优化 Workerman 检查主进程是否存活的逻辑

新增了判断进程是否为 Workerman 进程的逻辑,从而优化了确定主进程是否存活的准确性。
2021-03-17
5 分钟阅读时长

基于 Redis 实现分布式锁

之前在写支付回调的时候,因为第三方支付的回调机制有问题,存在并发回调的情况。如果对回调的订单不加锁的话,会造成一笔订单重复
2020-03-15
5 分钟阅读时长

《PHP 实现 Base64 编码/解码》笔记

放假前,在《C Primer Plus》一书中阅读了关于位运算的章节,对于位运算的一些概念有了基本的认识,所以当静下心来阅读《PHP 实现 Base64 编码/解码》文中的
2020-02-10
15 分钟阅读时长

PHP 多进程下载必应壁纸

在此之前,需要用到多进程来处理任务的时候都是用的这种“笨方法”。虽然在启动任务的时候比较麻烦,需要手动打开 n 个黑窗口,然后到指定目录下运行对应的脚本,但是在写代码的
2020-02-02
7 分钟阅读时长

基于 Redis 实现延迟队列

之前在一些博客上看到过讲如何实现延迟队列,但是平时没用上也没有动手实现过。在上次面试的时候,面试官也问过我有没有用过延迟队列,最后凭借着
2020-01-18
4 分钟阅读时长