分类:PHP

从手动搬砖到自动排雷:用Rector规则批量重构ThinkPHP遗留代码中的SQL注入与XSS漏洞

#从手动搬砖到自动排雷:用Rector规则批量重构ThinkPHP遗留代码中的SQL注入与XSS漏洞

凌晨两点四十,我还在盯着屏幕逐行翻 ThinkPHP 3.2 的老代码。grep -n "\$_GET[" 跳出来两百多处,每改完一个文件就手动跑一遍 SQLLINT。心里清楚这种修法今天顶多搞定二十个。那堆字符串拼 SQL 的写法看得人只想叹气:DB::table('user')->where("id = " . I('get.id')) 这类句子遍布全库,安全审计报告把“高危”标得通红。ThinkPHP 3.2 已于 2015 年停止维护,官方文档早就提醒升级,可业务还在跑。I('get.id') 只是框架对 $_GET 的薄封装,不过滤就进 SQL,参数一变立刻被插。最初想着手写脚本批量替换,写到一半发现情况复杂:引号嵌套、魔术方法、视图拼接样样坑。偶然搜到 Rector 这个 PHP 静态分析与重构引擎,才意识到与其造轮子不如让机器自个儿学规则。

阿牛 23
PHP
git checkout
从遗留PHP系统迁移Laravel:用PHPStan自定义规则自动检测SQL注入与未优化查询

#从遗留PHP系统迁移Laravel:用PHPStan自定义规则自动检测SQL注入与未优化查询

把一套跑了七八年的遗留 PHP 系统往 Laravel 迁移,最怕的不是路由改写或 ORM 换脸,而是散落在几百个文件里的危险 SQL 拼接。手动审查几百个文件中的字符串拼接,人眼疲劳会导致漏检。本文介绍如何通过 PHPStan 自定义规则,将代码审查变成可重复执行的自动化检测,精准捕获 SQL 注入和 N+1 查询等隐患,让迁移更安全高效。

阿牛 32
PHP
git checkout
用Laravel Octane结合Swoole实现高并发API网关:从传统PHP到常驻内存的性能跃升

#用Laravel Octane结合Swoole实现高并发API网关:从传统PHP到常驻内存的性能跃升

传统PHP-FPM在高并发下性能瓶颈明显,每次请求都需重建框架环境,导致CPU和内存浪费。Laravel Octane结合Swoole通过常驻内存和协程技术,实现一次加载、复用请求,大幅提升吞吐量。本文深入分析FPM的局限性,并展示Octane+Swoole如何打破性能天花板,提供从安装到优化的实战指南。

阿牛 23
PHP
git checkout