跳到内容
当前位置:首页>Excel>Excel时间戳取证分析

Excel时间戳取证分析

  • 2026-11-03 08:05:23
Excel时间戳取证分析
Ima知识库名称
加入条件

潇湘信安协同知识库(更新~ing!)

限时免费

潇湘信安学习资料库(更新~ing!)

≥3年粉丝

潇湘信安内部知识库(更新~ing!)

星球成员

现在只对常读和星标公众号才展示大图推送,建议大家把“潇湘信安”设为星标,否则可能看不到了!

U盘里的Excel文件:时间戳真的能当证据吗?

一个Excel文件里藏着四层日期,彼此可能互相矛盾。文件系统说一套,元数据说一套,ZIP容器说一套,电脑里的痕迹又说另一套。读懂它们,才能看清真相。


一、引子:你看到的"修改日期"可能在骗你

想象一个场景:劳动仲裁庭上,一方拿出一个U盘,里面有一份Excel表格,记录着所谓的"原始考勤数据"。文件属性里赫然写着"修改日期:2025年3月15日"。一方坚称这是当时的真实记录,另一方却说这是后来伪造的。

问题来了:这个日期,到底能证明什么?

大多数人打开资源管理器,看到"修改日期"那一行,就下意识地把它当成事实。但在数字取证专家眼里,这一行字背后是好几套独立运转的时钟,各有时区、各有盲区、各有漏洞。把它们混为一谈的人,一定会看错时间;了解它们的人,才知道该向鉴定人问什么问题。

本文带你一层层剥开U盘上Excel文件的时间秘密——从文件系统到内部元数据,从ZIP容器到Windows痕迹,告诉你每一层时间戳从哪里来、靠不靠谱、以及在法庭上有多大分量。

U盘里的Excel文件上,同时存在四层日期


二、Excel文件的四层时间体系

一个 .xlsx 文件至少有 四层日期,分别住在不同的地方,由不同的程序写入,遵循不同的时区规则。

层级
位置
写入者
时区
复制文件后是否变化
文件系统
U盘上的文件目录项
操作系统
FAT用本地时间,NTFS用UTC
通常会变,创建日期变为复制时间
OOXML元数据
文件内部的 docProps/core.xml 和 app.xml
Excel或生成文件的库
UTC
不变,随文件一起走
ZIP容器
ZIP包内每个条目的文件头
Excel或重组文件的工具
无明确标识(DOS格式)
不变
电脑痕迹
Windows注册表、setupapi日志、事件日志
Windows
注册表用UTC,日志用本地时间
不在U盘上,留在电脑里

关键洞察: 只有文件系统的日期会在每次复制时改变。元数据跟着文件走(所以它记录的是文档的历史,而非这一份拷贝的历史),而电脑上的痕迹根本不在U盘里。当四层时间讲述同一个故事时,重建的时间线才站得住脚;当它们互相矛盾时,矛盾本身就是重要线索。


三、Excel元数据藏在哪里?

.xlsx 文件本质上是一个 ZIP压缩包,里面装着一堆XML文件。元数据就藏在其中两个文件里:

  • docProps/core.xml — 作者、上次修改者、创建日期、修改日期
  • docProps/app.xml — 使用的软件及版本号

想看这些信息,不需要用Excel打开文件——直接解压一份副本就能看到。这一点在取证中至关重要:打开Excel可能会修改元数据,污染证据。

core.xml 中的日期遵循 W3CDTF 标准(ISO 8601 的一种变体),末尾带一个 Z,表示 UTC时间。下面是一个示例(内容虚构):

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><cp:coreProperties><dc:creator>用户A</dc:creator><cp:lastModifiedBy>用户B</cp:lastModifiedBy><dcterms:created xsi:type="dcterms:W3CDTF">2025-03-04T09:12:00Z</dcterms:created><dcterms:modified xsi:type="dcterms:W3CDTF">2025-11-18T16:40:00Z</dcterms:modified></cp:coreProperties>

元数据是"自述",不是"证人"

这里有个重要的认知问题:元数据是程序写的,任何人都可以改写。 取证维基(forensics.wiki)明确提醒,姓名和日期都可能被篡改,必须与其他来源交叉验证。

一个很有说服力的例子是 Python 的 openpyxl 库。用脚本生成的Excel文件,作者字段会显示为 "openpyxl",创建和修改日期就是脚本运行的时刻。当然,这四个字段都可以在保存前被覆盖或清空。

这带来两个实际推论:

  1. 作者显示 "openpyxl" 只能说明文件怎么来的,不能说明是谁要做的
  2. core.xml 缺失或内容异常本身也是信息——说明文件可能不是用Excel生成的

并非所有表格都出自Excel。LibreOffice会在程序字段里写入自己的名字。每一次"另存为"都可能改变文件对自身的描述——就像有些隐形水印,简单保存一下就消失了。


四、U盘的时间:文件系统的时钟游戏

不同格式,不同时钟

微软官方文档明确了文件时间的规则:

  • NTFS:日期以 UTC 保存。所以一个在太平洋时间下午3点保存的文件,在纽约看就是下午6点,时间是一致的。
  • FAT:日期以 本地时间 保存。同一个文件,在太平洋时间下午3点写的,拿到纽约看还是显示下午3点,但实际上纽约已经是下午6点了——文件时间"慢了"三小时。

精度也不一样:FAT格式下,创建时间精度是10毫秒,写入时间是2秒,访问时间只有日期(精确到天)。NTFS的上次访问时间可能延迟最多一小时才更新。

U盘通常格式化为 FAT32 或 exFAT,很少用NTFS。exFAT虽然解决了FAT的部分限制,但时间存储方式类似——DOS风格(秒数以2秒为单位)加一个10毫秒字段,还附带一个时区偏移字节。挪威科技大学(NTNU)的一项名为《"It's about time"》的研究指出,不同的exFAT实现和取证工具对这些日期的处理方式并不一致,鉴定人不能想当然地认为驱动读取的结果一定正确。

微软老员工Raymond Chen在他的博客 The Old New Thing 里举过一个软盘的例子:从NTFS复制到FAT,时间可能偏移2秒;把磁盘拿到另一个时区,文件时间看起来会"倒退"一小时——因为存的是本地时间。

夏令时 更是坑中之坑。微软文档提到,对于FAT文件,Windows的两个函数可能返回相差一小时的同一日期。一个读的是缓存值(夏令时切换时不更新,重启才修正),另一个用当前设置重新转换本地时间(即使文件是在标准时保存的)。对鉴定人来说,这意味着必须记录用什么工具、什么版本、在什么时区的电脑上读取的——因为显示的时间取决于"谁在看"。

为什么创建日期比修改日期还晚?

这是数字取证中的一个经典现象:复制文件时,"创建日期"变成了复制的时间,而"修改日期"通常保留原值。 结果就是创建日期晚于修改日期——这是文件被复制过的重要线索。

不过也有局限性:有些复制工具会保留创建日期,有些不会。而且这些属性用户无需特殊工具就能改。取证论坛 Forensic Focus 上有专家指出另一个辅助信号——修改日期的秒数总是偶数,这是FAT文件的典型特征,暗示文件可能来自FAT格式的存储介质。

这些都是"线索",不是"铁证"。真正的工作始于:两个独立的线索指向同一个方向。

一个重建示例

下面的数字是虚构的,但逻辑是真实鉴定的逻辑——把每个原始值旁边标注上罗马时间的解读,核对时区,看故事是否自洽。

来源
原始值
解读
core.xml 创建时间
2025-03-04T09:12:00Z
罗马时间10:12,文件诞生于2025年3月
core.xml 修改时间
2025-11-18T16:40:00Z
罗马时间17:40,最后一次保存
FAT 修改时间
18/11/2025 17:40:12
本地时间,秒数为偶数,与core.xml一致
FAT 创建时间
07/01/2026 08:03:41
这是复制到U盘的时间,不是文件原始创建时间
USBSTOR 首次连接
2026-01-07T07:02:55Z
罗马时间08:02,比复制早一分钟

这个案例里,一切都对得上:表格最后一次保存是2025年11月18日,直到2026年1月7日才被拷到这个U盘上,而U盘正是那一分钟刚插上这台电脑的。

但关于"谁输入了这些数据",这张表格什么也没说。 它能告诉你文件的故事,这已经大大缩小了可能性的范围。


五、ZIP容器里的"1980年"暗号

ZIP包里的每个文件条目都有自己的日期。Office软件的写法有一个明显特征。

安全分析师 Didier Stevens(SANS互联网风暴中心的研究员)发现:Office应用在ZIP记录中写入的日期是固定的 1980-01-01 00:00:00,而普通的ZIP工具会写入真实时间。他分析的文件里,有些条目是1980年,有些是2021年——由此推断,这个Word文档后来被其他工具重新处理过。

Excel似乎也遵循同样的规律。Forensic Focus 上有人测试了Excel 2010的模板文件,发现所有条目的日期都是1980-01-01,但有一个带密码保护的工作簿表现不同。

为什么是1980?因为这是DOS时代ZIP格式能表示的最早日期。

怎么用这个线索: 如果ZIP内所有日期都是清一色的1980年,说明文件可能直接出自Office且从未被其他工具动过;如果日期混杂,说明有人重新打包过。

但这个信号的价值是相对的——只能用来对比判断。需要用同版本Office、同类型文档生成的参考文件做对照,因为其他程序也可以模仿这个"1980年"模式。它适合用来提出问题,不足以单独结案。


六、电脑上的痕迹:U盘不会说的秘密

U盘只知道自己里面有什么。至于它有没有插过某台电脑,Windows在好几个地方留下了记录。取证软件厂商 Magnet Forensics 列出了主要的痕迹来源:

  • USBSTOR 注册表项 — 保存设备ID、首次和最后一次插入日期(FILETIME格式,UTC)
  • MountedDevices — 将序列号与驱动器盘符关联
  • MountPoints2 — 在每个用户的 NTUSER.DAT 中,记录该用户见过的设备
  • setupapi.dev.log — 首次连接时的驱动安装日志(本地时间)
  • 事件日志 — DriverFrameworks-UserMode/Operational 记录插拔事件

这些痕迹很宝贵,但读的时候要注意:

  1. 插过≠传过数据 — 连接记录不能证明数据传输发生过
  2. ** attribution是间接的** — MountPoints2显示的是GUID,需要与所有用户的注册表配置单元交叉比对
  3. 时区各不相同 — 注册表用UTC,日志用本地时间,不转换就会排错时间线
  4. 盘符是最后分配的 — 不代表之前的分配情况
  5. 路径随Windows版本变化

Windows保存的东西远比用户以为的多——Windows 11的缩略图缓存、ChatGPT在Windows和iOS上留下的痕迹,都是例子。它们提醒我们:当U盘本身不够用时,知道去哪里找很重要。


七、改时间戳有多容易?

对单层时间来说,非常容易。

微软自己的文档里就有 SetFileTime 函数,可以修改文件的三个日期而不碰内容。任何程序都能调用它。

正因为如此,NTFS取证研究人员会对比两套时间戳:

  • $STANDARD_INFORMATION — 普通系统调用就能改
  • $FILE_NAME — 通常需要内核级访问才能改

两套时间不一致,比一致更有说服力。开源应急响应工具 Velociraptor 的 Windows.NTFS.Timestomp 模块,就是专门找那些"创建日期在 $STANDARD_INFORMATION 里反而更早"或者"纳秒精度过于完美"的可疑文件。

当然,还要和NTFS的变更日志(USN Journal)、$LogFile 以及程序执行痕迹(ShimCache、Amcache)交叉验证。


八、法庭上,Excel文件值多少分量?

这个问题没有标准答案,但有几个原则:

  1. 单一时间戳几乎不构成证据 — 不管是文件系统的修改日期,还是元数据里的作者名,单独拿出来都太容易被质疑了。

  2. 多层印证才有力量 — 当文件系统时间、内部元数据、ZIP结构、Windows注册表痕迹都指向同一个故事时,可信度才会显著提升。

  3. 保管链比时间本身更重要 — 谁拿到的U盘、怎么做的镜像、有没有用写保护器(write-blocker)、哈希值是多少——这些程序问题决定了证据能不能被采纳。

  4. 它能排除,难以确认 — 时间戳往往更擅长证明"某个说法不对"(比如"这个文件3月就有了"但元数据显示11月才创建),而不是百分之百确认"就是这个人在那天做的"。

  5. 内容分析和元数据分析要结合 — 公式追踪、单元格编辑痕迹、修订记录(如果有),这些都能和时间戳互相补充。


九、怎么读才不污染证据?

拿到作为证据的Excel文件,第一件事绝对不是双击打开。正确的做法是:

  1. 先做镜像 — 用写保护器连接设备,制作完整的位级镜像,计算哈希值
  2. 在副本上工作 — 所有分析都在镜像副本上进行,原始介质封存
  3. 先看文件系统时间 — 用取证工具读取目录项,记录原始时间戳
  4. 解压看元数据 — 将文件复制出来一份,用解压工具打开(不是用Excel),读取 core.xml 和 app.xml
  5. 分析ZIP结构 — 检查ZIP内部各条目的时间戳
  6. 最后才考虑打开文件 — 如果必须用Excel打开,确保在隔离环境中,并且记录操作前后的文件变化

每一步都要记录操作时间、操作人员、使用的工具和版本号。取证的黄金法则是:如果你不能证明你没改它,你可能就已经改了它。


十、五个常见的读取错误

  1. 把"修改日期"当事实 — 这是最常见的错误。修改日期只是文件系统的一个属性,可以被复制、被移动、被篡改。

  2. 忽略时区转换 — FAT用本地时间,NTFS用UTC,元数据用UTC,日志用本地时间……不统一到同一个基准,时间线一定是乱的。

  3. 以为"作者"就是实际操作的人 — 作者字段是Office里设置的名字,可能跟Windows账号对不上,也可能根本就是假的。

  4. 创建日期比修改日期晚=伪造 — 不一定是伪造,更可能是复制过。这个现象本身很正常,不能单独作为篡改证据。

  5. 用Excel打开"检查"元数据 — 打开的那一刻,元数据可能已经被改了(比如"上次修改者"、"修改日期")。你以为是在检验证据,其实已经破坏了证据。


十一、关键要点(Key Takeaways)

  • 📌 Excel文件有四层时间:文件系统层、OOXML元数据层、ZIP容器层、电脑痕迹层,各说各话
  • 📌 FAT格式存本地时间,NTFS存UTC — 跨时区看FAT文件,时间会"漂移"
  • 📌 元数据是自述,不是证词 — 可以改、可以伪造,必须交叉验证
  • 📌 创建日期晚于修改日期 ≠ 篡改 — 更可能是文件被复制过
  • 📌 ZIP里的1980年 — Office的典型特征,日期混杂可能意味着被重新打包
  • 📌 单一时间戳证据力弱,多层印证才有说服力
  • 📌 取证先做镜像,永远不在原件上操作
  • 📌 保管链和技术分析同样重要 — 程序瑕疵可以让最铁的证据失效

十二、写在最后

U盘里的Excel文件,看起来就是一个简单的表格,实则是层层叠叠的时间迷宫。每一层时间都有它的来处、它的偏见、它的盲区。

数字取证的核心不是"找到那个正确的时间",而是把不同来源的时间放在一起比对,看哪些对得上、哪些对不上,然后追问"为什么"。对得上的地方,给你信心;对不上的地方,指引方向。

下次再有人拿着一个U盘对你说"看,修改日期在这儿呢",你可以微笑着问一句:

"你说的是哪一层的日期?"

关注我们

 还在等什么?赶紧点击下方名片开始学习吧 


知 识 星 球

星球已过800人,暂不再发放优惠券,如还有需要的师傅可加我VX:S_3had0w,等你一起来学习...!
Ima知识库名称
加入条件

潇湘信安协同知识库(更新~ing!)

限时免费

潇湘信安学习资料库(更新~ing!)

≥3年粉丝

潇湘信安内部知识库(更新~ing!)

星球成员


推 荐 阅 读

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