9.0
重磅
AI SCORE
技术实践2026-08-12 03:11
生产环境开调试模式:源码泄露教训
dev.to · AI#安全#DevOps#生产事故
Editor brief · 编辑速览
某团队因APP_DEBUG=true导致Laravel完整堆栈、SQL查询、环境变量被Google索引,造成持续数月的源码泄露。
上周,一条 Google Search Console 告警通知我们,站点上有 2,246 个页面返回了 5xx 错误。这个数字本身就已经够让人震惊了。但更糟糕的是,这些错误页面对每一个访问者展示的内容。
APP_DEBUG 在生产环境里被设成了 true。
如果你用过 Laravel,应该已经知道这意味着什么。对其他人来说:崩溃的路由不再显示通用的"出了点问题"页面,而是渲染出 Laravel 完整的调试页面。文件路径、堆栈跟踪、失败行附近的实际源代码、包含表名和列名的 SQL 查询。在某些页面上,甚至暴露了环境变量。
公开展示了。好几个月。被 Google 索引了。
以下是事件的发现过程、实际造成的损害,以及我们现在每次上线前必跑的检查清单。
我们并非主动发现了这个问题。当时正在做常规的 SEO 审计,从 Search Console 拉取了页面索引报告。
分布情况如下:

我们是一个让程序员分享、保持最新和职业成长的社区。