iphone上的Safari的历史记录存储

正如我们之前了解的那样,Safari将浏览历史存储在/private/var/mobile/Library/Safari/History.db数据库中。重要的是要理解,这个文件不仅仅存储来自本地设备的浏览历史 - 它还包含从iCloud同步的数据,例如来自其他设备的浏览历史。在分析这些数据时,检查员的任务是剖析在被检查的设备上访问了哪些网站,以及来自不同设备的数据已经同步了哪些。

以下截图显示了一个提取所有相关数据及其结果记录的查询示例:

注意,历史访问表中有一个"origin"列,该列指示该网站是否从iCloud同步(1)或未同步(0)。

这个数据库并不是浏览历史记录的唯一存储位置;关键的数据还可以在knowledgeC . db数据库中找到。尽管它仅存储大约一个月的数据,但knowledgeC . db仍然会包含有关访问的网页的详细信息,即使用户选择删除浏览历史记录。

以下查询将从knowledgec.db数据库的ZOBJECT表中提取Safari事件:

复制代码
SELECTDATETIME(ZOBJECT.ZSTARTDATE+978307200,UNIXEPOCH') AS "DATE"
ZSTRUCTUREDMETADATA.Z DKSAFARIHISTORYMETADATAKEYTITLEAS "TITLE",
ZOBJECT.ZVALUESTRING AS "URL"
ZOBJECT.ZSECONDSFROMGMT/3600 AS HGMT OFFSETH
FROM ZOBJECT
LEFT JOIN
ZSTRUCTUREDMETADATA
ON ZOBJECT.ZSTRUCTUREDMETADATA
ZSTRUCTUREDMETADATA.Z PK
LEFT JOIN
ZSOURCE
ON ZOBJECT.ZSOURCE = ZSOURCE.Z PK
WHERE
ZSTREAMNAME IS "/safari/history"
ORDER BY DATE ASC;

首先,我们必须选择浏览器事件发生时的时间戳,并通过使用DATETIME函数将其转换为可读字符串。然后,我们必须在ZSTRUCTUREDMETADATA表上执行JOIN操作,以提取网页的标题。之后,我们必须选择URL并计算GMT偏移量。最后,我们必须按时间顺序对结果进行排序。

相关推荐
茶底世界之下9 小时前
灯塔照片怎么裁竖幅?用 Awaking 留住塔顶,收紧两侧环境
ios
AIsoft_868911 小时前
医患交流内容如何做好记录?
android·iphone
庚鑫12 小时前
iOS 27 兼容放大模式下,keyboardFrame 与 UIScreen.bounds 的坐标差异
ios·objective-c
HEJOO913 小时前
iOS 高效绘图:从 Core Graphics 到 Metal 的实践指南
macos·ios·cocoa
HEJOO914 小时前
iOS 性能优化全面详解
ios·性能优化·cocoa
ii_best14 小时前
iOS 自动化脚本工具更新|按键精灵 适配 Relaxin(青霉素)越狱,兼容 iOS16~iOS26 主流越狱环境
ios·自动化·按键精灵
万年咸鱼14 小时前
iOS 27 适配笔记
笔记·ios·cocoa
HEJOO915 小时前
iOS Dark Mode 适配笔记
笔记·ios·cocoa
风雨_17 小时前
Mac M3 使用 OrbStack 全新安装运行 EasyConnect 完整教程
ios
Coder_张三2 天前
iOS 26 适配
前端·ios·swift