判断用户是否删除过浏览器历史记录
本文仅适用于 Google Chrome, Microsoft Edge 等使用 Chromium 内核的浏览器。此内核的浏览器会将浏览器的访问历史记录储存在一个 SQLite 数据库文件中,可以用任何支持 SQLite 数据库 GUI 工具打开。常用的免费 SQLite 数据库 GUI 工具有:
在不同的操作系统下, Google Chrome 的历史记录数据库文件默认保存路径如下:
- Windows:
%LOCALAPPDATA%\Google\Chrome\User Data\Default\History
- Linux:
~/.config/google-chrome/Default/History
- macOS:
/Users/<username>/Library/Application Support/Google/Chrome/Default/History
在 Windows 下, Microsoft Edge 的历史记录数据库文件保存路径为:
%LOCALAPPDATA%\Microsoft\Edge\User Data\Default\History
本文以 SQLiteStudio 为例。打开软件,在主菜单选择「 Database - Add a database 」,打开相应的 History 文件;在主菜单选择「 Tool - Open SQL editor 」,在查询一栏中输入下面的 SQL 语句,并按 F9 执行查看结果:
sqlSELECT visits.id, urls.url, urls.title,
DATETIME(
ROUND(visits.visit_time / 1000000 - 11644473600),
'unixepoch',
'localtime'
) AS visit_time
FROM visits LEFT JOIN urls ON visits.url=urls.id
其中 id 列是一个自增字段,默认情况下应该是连续的。如果 id 并不连续,则说明用户曾删除过历史记录。
