当前位置:首页>java>删库、跑路、代码失踪!AI编程三大事故曝光,程序员必看保命指南

删库、跑路、代码失踪!AI编程三大事故曝光,程序员必看保命指南

  • 2026-02-06 19:42:01
删库、跑路、代码失踪!AI编程三大事故曝光,程序员必看保命指南

AI 编程时代的安全警钟

人工智能正在深刻改变软件开发的方式。从 GitHub Copilot 到 Cursor,从 ChatGPT 到各类 AI 编程助手,这些工具让代码生成变得前所未有的高效。许多程序员惊喜地发现,曾经需要花费数小时编写的函数,现在只需一个提示就能自动完成。然而,在这股 AI 编程热潮背后隐藏着巨大的风险

根据康奈尔大学的研究人员的实验,GitHub Copilot 生成的代码中约有 40% 存在安全漏洞 。更令人担忧的是,在测试的 1692 个程序中,接近半数包含了可被恶意利用的安全隐患。这意味着,当你兴奋地复制 AI 生成的代码并直接部署到生产环境时,你可能正在为系统埋下一颗定时炸弹。

本文将深入探讨 AI 编程的三大核心安全原则:版本管理、数据备份与代码审查。通过真实案例分析,我们将揭示 AI 编程工具的局限性,并提供切实可行的防护策略。


第一章:AI 编程的隐患——从美好幻想到残酷现实

1.1 那些让人痛心的真实案例

在开始讨论防护措施之前,让我们先看看 AI 编程工具在真实世界中造成的事故。这些案例不是虚构的故事,而是实实在在发生的灾难。

某电商企业在使用 Copilot 搭建促销系统时,AI 生成的代码因为未对第三方库依赖进行严谨核验,致使系统在促销活动的高峰时段轰然崩溃,订单处理陷入长达 3 小时的停滞,公司为此承受了数百万的直接经济损失 。这个案例深刻揭示了一个事实:AI 可以快速生成代码,但它并不理解业务的复杂性和可靠性要求。

另一个更具警示意义的案例来自我亲身经历。我在开发一个业务系统,需要新增一个功能,让 AI帮我生成代码并要参考上下文代码做好容错,AI直将原来运行正常的旧代码给重写了,原有正常的冗错机制也破坏掉了, AI 生成的代码逻辑混乱不堪。最终,团队不得不回恢原有版本,AI 生成的低质量代码在这里造成了严重的时间和资源浪费。

政务领域同样未能幸免。某政务部门在运用传统 AI 工具开发智能客服系统时,30 人的专业团队历经 6 个月的艰苦奋战,仍未能完成项目交付。。这个对比鲜明的案例说明,盲目依赖 AI 反而可能拖慢项目进度。

1.2 AI 代码的三大致命缺陷

通过分析大量真实案例,我们可以总结出 AI 生成代码的三个核心问题

缺陷一:表面正确与实际可用的巨大鸿沟。 AI 生成的代码往往在语法层面完美无缺,在风格上优雅得体,但实际运行时却漏洞百出。有开发者分享了自己的亲身经历:让 AI 重构一段数据校验逻辑,结果 AI 使用了大量链式调用和高级语法糖,代码写得像教科书般美观。然而上线后,系统因为没有处理 null 值而直接崩溃 。这种「优雅的垃圾代码」在复杂业务场景中尤为常见,AI 擅长模仿已知模式,却缺乏对业务边界条件的真正理解。

缺陷二:知识盲区导致的记忆断层。 AI 不了解项目的历史背景和设计决策,它不知道某个函数参数为什么从 A 改成 B,不知道某段代码为什么要这样实现。当开发者按照 AI 的建议修改代码时,往往会破坏原本精心设计的逻辑 。这种隐形风险比语法错误更难发现,因为它藏在业务逻辑的深处。

缺陷三:缺乏动态调试能力。 微软研究院的最新研究表明,即使是当前最先进的 AI 模型,包括 Anthropic 的 Claude 4.5 Sonnet 和 OpenAI 的 GPT5,在软件调试任务中的成功率也仅在6-7成左右 。AI 可以写出代码,但它不太擅长找出代码中的问题。当生产环境出现 bug 时,你不能完全指望 AI 帮你定位和修复。

1.3 被忽视的安全威胁

AI 编程工具的安全问题不仅仅关乎代码质量,更关乎整个系统的安全。斯坦福大学的实验安排开发者借助 AI 工具执行 89 次安全攸关的任务,结果发现所生成的代码里,高达 40% 存在可被恶意利用的安全隐患 。更令人不安的是,67% 的开发者对代码的安全性判断失误——他们自己也没能发现这些漏洞。

常见的 AI 生成代码的安全问题包括 SQL 注入漏洞、缓冲区溢出、跨站脚本攻击(XSS)等 。这些问题在传统开发中通过严格的代码审查可以有效预防,但当代码是由 AI 生成、开发者又过度信任 AI 时,这些问题往往被直接忽略,直到被恶意攻击者利用才追悔莫及。


第二章:版本管理——AI 编程的「时光机」

2.1 为什么版本管理对 AI 编程至关重要

传统的版本管理(如 Git)一直是软件开发的基石,但在 AI 编程时代,它的重要性被提升到了前所未有的高度。当 AI 生成代码时,我们面对的不再是熟悉的、可预测的代码逻辑,而是一系列可能存在问题的代码片段。如果没有良好的版本管理,代码一旦出问题,你可能根本不知道是从什么时候开始坏的。

想象一个场景:你让 AI 帮你重构一个函数,它生成了 200 行代码。你兴冲冲地复制粘贴、测试、提交。第二天,另一个团队成员告诉你系统报错了。你想回退到之前的版本,却发现因为中间做了太多次 AI 交互,根本无法追溯哪个改动引入了问题。这就是没有做好版本管理的后果。

2.2 AI 编程版本管理的最佳实践

实践一:小步提交,频繁推送。 与其让 AI 生成一个大功能后一次性提交,不如将任务拆分成多个小步骤,每完成一个小步骤就提交一次。这样做的好处是,你可以清楚地知道每一次 AI 代码生成引入了什么变化,一旦出现问题,可以快速定位和回退。

实践二:使用有意义的提交信息。 当提交 AI 生成的代码时,务必在提交信息中注明「此代码由 AI 生成,主要实现了某某功能,可能需要重点审查」。这不仅帮助团队成员理解代码来源,也提醒审阅者需要特别关注代码质量。

实践三:创建专门的 AI 生成代码分支。 在将 AI 代码合并到主分支之前,先在一个独立的分支上进行充分测试。这个分支可以命名为 ai-generated/ 或 experimental/ 前缀,让所有人都知道这部分代码需要额外的小心。

实践四:保留完整的 AI 交互记录。 除了代码版本控制,还应该保留与 AI 对话的完整记录。这包括你给出的提示词、AI 返回的代码、以及你对代码的修改。当你需要回顾某个决策或理解某段代码的来龙去脉时,这些记录将成为无价的参考资料。

2.3 代码回滚策略

当 AI 生成的代码导致生产环境问题时,快速回滚是减少损失的关键。以下是一个实用的回滚策略框架。

首先,永远不要直接覆盖正在运行的代码,而是采用「蓝绿部署」或「金丝雀发布」的方式。这意味着你可以同时维护两套系统,当 AI 代码的新版本出现问题时,可以立即切换回旧版本。

其次,建立「最后已知良好」版本的快照机制。每隔一段时间(特别是经过充分测试后),将稳定版本的代码打上标签,确保在任何时候都能快速回滚到这个已知良好的状态。

最后,定期演练回滚流程。很多团队在真正需要回滚时才发现操作不熟练,导致恢复时间过长。建议每个季度至少进行一次回滚演练。


第三章:数据备份——AI 编程的最后防线

3.1 数据库:AI 最容易「误伤」的目标

在所有可能被 AI 破坏的资产中,数据库是最危险也是最脆弱的。AI 在处理数据库操作时可能会生成具有破坏性的 SQL 语句,比如忘记 WHERE 子句的 DELETE 或 UPDATE,或者生成错误的表结构变更语句。

虽然直接的「删库跑路」案例在 AI 编程领域相对较少(因为大多数人在执行数据库操作前会多看一眼),但 AI 导致的「误删数据」问题并不罕见。当 AI 生成的 ORM 代码逻辑错误时,可能会在特定条件下删除错误的数据记录;或者 AI 生成的备份脚本存在缺陷,导致备份不完整,需要恢复时才发现数据已经丢失。

3.2 多层次的数据备份策略

第一层:自动化数据库备份。 这是最基础也是最重要的一层。无论你的代码是否由 AI 生成,都应该确保数据库有完善的自动备份机制。备份应该包括全量备份和增量备份,并且备份数据应该存储在与主数据库物理隔离的位置。对于关键业务数据,建议采用「异地多副本」策略。

第二层:代码级别的配置备份。 除了数据库数据,还要备份数据库配置、迁移脚本、初始化数据等。这些文件同样是 AI 编程中容易出错的部分。当你需要重建数据库环境时,这些配置文件的备份将大大加快恢复速度。

第三层:完整的环境快照。 使用 Docker 镜像或虚拟机快照,定期创建完整的开发、测试、生产环境快照。这些快照不仅包括代码和数据,还包括依赖库版本、系统配置等「软环境」。当 AI 生成的代码导致环境配置混乱时,可以快速回退到已知良好的状态。

3.3 备份数据的验证与恢复演练

备份的价值只有在需要恢复时才能体现。建议建立「备份验证」机制,定期从备份中恢复数据到测试环境,验证备份的完整性和可用性。很多团队发现,当真正需要恢复数据时,备份文件要么损坏,要么不完整——这都是因为缺少日常验证。

恢复演练应该包括以下场景:单表数据误删除恢复、整库恢复、跨版本迁移恢复等。记录每次恢复所需的时间,确保在服务等级协议(SLA)规定的时间内能够完成数据恢复。

3.4 数据库操作的特别注意事项

当使用 AI 辅助编写数据库相关代码时,必须遵守以下铁律。

第一,所有 DELETE 和 UPDATE 操作在执行前必须手动检查 WHERE 子句。即使 AI 生成的代码看起来正确,也要逐字符确认条件语句的完整性。

第二,危险操作使用事务包裹。在生产环境中执行任何可能改变数据的操作前,先在事务中测试,确认无误后再提交。

第三,生产数据库禁止直接执行 AI 生成的 SQL。如果需要执行 SQL 语句,应该先在测试环境验证,并通过 DBA 审核。第

四,使用版本控制管理数据库迁移。所有数据库结构变更都应该通过迁移文件管理,并经过代码审查后才能执行。


第四章:代码审查——AI 编程的「质量门神」

4.1 AI 生成代码必须经过审查

这一点怎么强调都不为过:永远不要将未经审查的 AI 生成代码直接部署到任何环境。这应该成为团队的铁律,就像「不能在生产环境直接修改代码」一样重要。

代码审查不仅是对代码质量的把关,更是对业务逻辑的再次确认。AI 可能生成语法正确但逻辑错误的代码,而这种错误往往只有熟悉业务的开发者才能发现。

4.2 AI 代码审查清单

当审查 AI 生成的代码时,应该重点关注以下方面。

安全审查要点: 检查是否存在SQL 注入风险,确保所有数据库查询都使用参数化语句而非字符串拼接;检查是否存在跨站脚本(XSS)风险,确保用户输入都经过适当的转义和验证;检查是否存在权限控制漏洞,确保访问控制逻辑没有被 AI 意外省略或简化;检查敏感信息是否泄露,确保 API 密钥、密码等不会被错误地暴露在日志或错误信息中。

逻辑审查要点: 确认边界条件处理是否完整,特别是空值、零值、极值的处理;确认异常处理是否恰当,AI 可能生成「happy path」代码而忽略错误场景;确认业务逻辑是否符合预期,这需要审查者对业务有深入理解;确认并发场景是否安全,如果代码涉及多线程或异步操作,需要特别关注竞态条件。

质量审查要点:检查代码是否过于复杂,AI 有时倾向于使用过于复杂的解决方案;检查命名是否清晰,变量和函数的命名应该表达其实际用途;检查是否有过多重复代码,AI 有时会生成功能相似但实现不同的代码片段;检查是否有被遗漏的 TODO 或占位符,AI 有时会生成「此处需要补充」之类的注释。

4.3 建立 AI 代码专用审查流程

考虑到 AI 生成代码的特殊性,建议建立专门的审查流程。

在提交审查前,开发者应该在审查清单中明确标注「此代码由 AI 生成」,并简要说明 AI 生成的范围和人工修改的部分。这有助于审查者有针对性地关注高风险区域。对于 AI 生成的关键代码(如认证授权、数据验证、支付处理等),应该要求至少两位有经验的开发者审查通过,或者安排专门的安全审查环节。建立「AI 代码问题追踪」机制,统计 AI 生成代码中发现的典型问题,用于优化团队的 AI 使用规范和审查清单。

4.4 自动化工具辅助审查

除了人工审查,自动化工具可以有效地发现 AI 生成代码中的常见问题。

静态代码分析工具(如 SonarQube、ESLint、FindBugs)可以自动检测代码异味、潜在 bug 和安全漏洞 。建议在 CI/CD 流水线中集成这些工具,确保所有代码(包括 AI 生成代码)在合并前通过静态分析检查。依赖安全扫描工具(如 Snyk、OWASP Dependency-Check)可以检测第三方库的已知漏洞。AI 可能生成使用过时或存在安全漏洞的依赖的代码,这些工具可以帮助发现这些问题。单元测试和集成测试是验证代码行为的最后一道防线。AI 生成的代码应该有对应的测试覆盖 ,特别是对于边界条件和异常场景的测试。


第五章:AI 编程的注意事项与最佳实践

5.1 AI 不是万能的——认识其局限性

在享受 AI 编程带来效率提升的同时,我们必须清醒地认识其局限性。

局限性一:缺乏对整体系统的理解。 AI 通常只能看到你提供的上下文窗口内的信息,而一个复杂的软件系统包含成千上万行代码和复杂的依赖关系。AI 生成的代码可能与系统其他部分存在命名冲突、接口不匹配或逻辑矛盾。

局限性二:不了解业务背景和历史决策。 为什么这个系统要这样设计?为什么某个参数要设置成这个值?这些决策背后的原因往往没有完整记录在代码中。AI 在不了解背景的情况下,可能生成与既有设计意图相悖的代码。

局限性三:对「为什么」的困惑。 正如一位开发者所描述的:「AI 不知道我为什么把那个函数参数从 A 改成 B。」这种历史知识的缺失使得 AI 很容易在修改代码时破坏之前精心解决的问题 。

局限性四:生成「幻觉」代码。 AI 有时会生成看起来合理但实际不存在的 API 调用、不存在的库函数或者不正确的参数。这种「幻觉」在你不熟悉的领域尤其危险,因为你可能无法识别这些错误 。

5.2 安全的 AI 编程工作流程

基于以上分析,这里提供一个推荐的 AI 编程工作流程。

第一步:明确任务边界。 在使用 AI 之前,先清楚地定义要解决的具体问题。不要让 AI「自由发挥」,而是给出明确的输入输出要求和约束条件。问题定义越清晰,AI 生成的代码质量越高。

第二步:提供完整的上下文。 向 AI 提供足够的背景信息,包括相关的代码片段、接口定义、业务规则等。如果项目有技术文档,也应该一并提供给 AI 参考。

第三步:获取候选方案。 让 AI 生成一到多个候选方案,而不是直接采用第一个结果。多方案对比可以帮助你发现潜在问题,并选择最优解。

第四步:代码审查和测试。 对每个候选方案进行仔细审查,并编写针对性的测试用例。特别是边界条件和异常场景,必须用测试覆盖。

第五步:小范围验证。 在将 AI 代码集成到主项目之前,先在独立分支或测试环境中运行一段时间,观察其行为是否符合预期。

第六步:完整审查后合并。 经过以上步骤后,将代码提交审查。审查通过后,合并到主分支并部署。

5.3 不同场景下的 AI 使用建议

场景一:编写样板代码和胶水代码。 这是 AI 最擅长的领域。重复性的代码模板、简单的数据转换、API 调用封装等,AI 可以高效完成且质量稳定。

场景二:学习新技术或框架。 AI 是很好的学习助手,可以帮助你理解不熟悉的 API 用法、语法特性或设计模式。但学习时应该批判性地对待 AI 的解释,有条件时查阅官方文档确认。

场景三:解决已知的常见问题。 很多技术问题已经有成熟的解决方案,AI 可以快速检索并提供这些方案。但要注意验证方案的适用性和时效性。

场景四:核心业务逻辑和安全性相关代码。 这类代码应该谨慎使用 AI。如果必须使用,应该投入更多时间进行审查和测试,并确保有经验的开发者参与。

场景五:调试和修复复杂问题。 虽然 AI 在调试方面表现不佳(成功率约 50%),但它可以作为「第二意见」提供者。向 AI 描述问题和排查过程,有时可以获得有价值的思路启发。


结语:让 AI 成为助手而非主人

AI 编程工具代表了软件开发领域的重大进步,它们确实能够让开发者从重复性劳动中解放出来,专注于更有价值的创造性工作。然而,工具的价值在于使用它的人,而非工具本身。

本文讨论的版本管理、数据备份和代码审查,构成了 AI 编程的安全三道防线。版本管理让你能够追溯变化、快速回退;数据备份为最坏情况提供兜底保障;代码审查则是质量把关的最后一道关卡。这三者缺一不可。

更重要的是,我们需要建立对 AI 能力的正确认知。AI 是强大的助手,但绝不是万能的解决方案。它可以加速开发,但不能替代深思熟虑的设计;它可以生成代码,但不能保证代码的正确性;它可以提供建议,但最终的决定权在人。

在这个 AI 快速发展的时代,作为开发者,我们需要做的不是恐惧 AI,也不是盲目拥抱 AI,而是学会与 AI 协作,既充分利用其优势,又清醒认识其局限,在效率和质量之间找到平衡点。

记住:代码是你写的,责任也是你承担的。AI 只是工具,你才是主人。


附录:AI 编程安全检查清单

在将 AI 生成的代码合并到主分支前,请确认以下检查项已完成:

版本管理检查:

  • • 代码已提交到独立分支并经过初步测试
  • • 提交信息明确标注「AI 生成代码」
  • • 保留了完整的 AI 交互记录

数据安全检查:

  • • 数据库操作已检查 WHERE 子句完整性
  • • 数据库变更通过迁移文件管理
  • • 最近一次备份成功完成且已验证

代码审查检查:

  • • 已通过至少一位有经验开发者的审查
  • • 静态代码分析工具通过
  • • 已补充必要的单元测试和集成测试
  • • 边界条件和异常场景已覆盖

安全审查检查:

  • • 无 SQL 注入风险
  • • 无跨站脚本(XSS)风险
  • • 权限控制逻辑正确
  • • 敏感信息未泄露

免责声明:本文内容仅供学习交流使用。AI 编程工具和实践在快速发展,请根据实际情况选择适合的安全措施。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-08 04:25:29 HTTP/2.0 GET : https://f.mffb.com.cn/a/467076.html
  2. 运行时间 : 0.211203s [ 吞吐率:4.73req/s ] 内存消耗:4,849.00kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=ddfb69f831ed4b389ecb217b6a98d0f7
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.001118s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001972s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.001879s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.001104s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001698s ]
  6. SELECT * FROM `set` [ RunTime:0.001766s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001891s ]
  8. SELECT * FROM `article` WHERE `id` = 467076 LIMIT 1 [ RunTime:0.002236s ]
  9. UPDATE `article` SET `lasttime` = 1770495930 WHERE `id` = 467076 [ RunTime:0.004957s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 65 LIMIT 1 [ RunTime:0.002282s ]
  11. SELECT * FROM `article` WHERE `id` < 467076 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001053s ]
  12. SELECT * FROM `article` WHERE `id` > 467076 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.002624s ]
  13. SELECT * FROM `article` WHERE `id` < 467076 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.005957s ]
  14. SELECT * FROM `article` WHERE `id` < 467076 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.006239s ]
  15. SELECT * FROM `article` WHERE `id` < 467076 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.008218s ]
0.213690s