标签:静态分析

用PHPStan自定义规则,自动揪出Laravel项目中遗漏的try-catch与事务回滚

#用PHPStan自定义规则,自动揪出Laravel项目中遗漏的try-catch与事务回滚

线上订单支付成功但库存没扣减?DBA查到事务卡在中间状态——一个被遗忘的DB::transaction()里,catch块只写了Log::error($e),却漏掉了throw $e或DB::rollBack()。PHPStan默认规则不管这个。本文教你写三个自定义规则:检查空catch/finally、未包裹try的方法、悬空事务。并塞进CI,用基线处理存量代码,彻底杜绝数据不一致。

阿牛 19
PHP
git checkout
用PHPStan揪出Laravel表单验证中的类型混淆与注入风险

#用PHPStan揪出Laravel表单验证中的类型混淆与注入风险

本文深入探讨Laravel表单验证中自定义规则的类型混淆问题,通过真实线上故障案例,展示mixed类型如何导致验证绕过和业务异常。详细讲解如何利用PHPStan和Larastan在静态分析阶段捕捉FormRequest中的类型隐患,包括自定义Rule对象和闭包验证器的注入风险检测,帮助开发者在上线前拦截潜在漏洞。

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

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

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

阿牛 34
PHP
git checkout