julesgraus / favicontracker
通过favicon技巧跟踪用户。即使他们在隐身模式下。仅限教育用途。
Requires
- laravel/framework: >=6 <9.0
This package is auto-updated.
Last update: 2024-09-29 05:49:50 UTC
README
通过favicon技巧在您的Laravel项目中跟踪用户。即使他们在隐身模式下。仅限教育用途。
安装
- 在您的Laravel 6+项目的根目录中运行
composer require julesgraus/favicontracker
。 - 使用
php artisan vendor:publish --tag=fit
在您的Laravel项目根目录中发布配置文件。
使用方法
安装包后,您将拥有一些额外的路由。/fit路由可用于测试包。它将显示一个页面,您可以在其中启动读取和写入过程。您还可以直接访问/fit/read和/fit/write来自动启动这些过程。在验证跟踪过程部分中,您将看到跟踪用户所需执行的操作。目前似乎无法首先启动读取操作,然后在不关闭浏览器的情况下可靠地将跟踪ID写入favicon缓存。此外,必须使用延迟来遍历跟踪路由,因为浏览器请求favicon需要一些时间。
验证跟踪过程
以下过程是为了手动验证每个浏览器的跟踪技术而遵循的
Chrome Mac v89.0.4389.90
- 浏览器已打开。
- 启动读取过程。结果为跟踪ID为0。
- 浏览器完全关闭并重新启动。
- 启动写入过程。结果为存储加零ID。
- 浏览器完全关闭并重新启动。
- 启动读取过程。结果为检索加零ID。
Safari Mac v4.0.3 (16610.4.3.1.7)
- 浏览器已打开
- 启动读取过程。结果为跟踪ID为0。
- 启动写入过程。结果为存储加零ID。
- 启动读取过程。结果为检索加零ID。
- 浏览器完全关闭并重新启动。
- 启动读取过程。结果为检索加零ID。
- 启动写入过程。结果为存储加零ID。
Firefox Mac (87.0)
- 似乎没有跟踪过程能起作用。
Edge Mac (89.0.774.63)
- 浏览器已打开。
- 启动读取过程。结果为跟踪ID为0。
- 浏览器完全关闭并重新启动。
- 启动写入过程。结果为存储加零ID。
- 浏览器完全关闭并重新启动。
- 启动读取过程。结果为检索加零ID。
验证跟踪过程
以下过程是为了手动验证每个浏览器的跟踪技术而遵循的
Chrome Mac v89.0.4389.90
- 浏览器已打开。
- 启动读取过程。结果为跟踪ID为0。
- 浏览器完全关闭并重新启动。
- 启动写入过程。结果为存储加零ID。
- 浏览器完全关闭并重新启动。
- 启动读取过程。结果为检索加零ID。
Safari Mac v4.0.3 (16610.4.3.1.7)
- 浏览器已打开
- 启动读取过程。结果为跟踪ID为0。
- 启动写入过程。结果为存储加零ID。
- 启动读取过程。结果为检索加零ID。
- 浏览器完全关闭并重新启动。
- 启动读取过程。结果为检索加零ID。
- 启动写入过程。结果为存储加零ID。
Firefox Mac (87.0)
- 似乎没有跟踪过程能起作用。
Edge Mac (89.0.774.63)
- 浏览器已打开。
- 启动读取过程。结果为跟踪ID为0。
- 浏览器完全关闭并重新启动。
- 启动写入过程。结果为存储加零ID。
- 浏览器完全关闭并重新启动。
- 启动读取过程。结果为检索加零ID。
如何清除favicon缓存
首先确保您已完全关闭浏览器。
Chrome Mac
删除 ~/Library/Application Support/Google/Chrome/Default/Favicons
和 ~/Library/Application Support/Google/Chrome/Default/Favicons-journal
。
Chrome Windows
删除 C:\Users\<your username>\AppData\Local\Google\Chrome\User Data\Default
。
Safari Mac
删除 ~/Library/Safari/Favicon Cache/
。并不总是立即起作用(Safari 4.0.3)
Microsoft Edge Mac
删除 ~/Library/Application Support/Microsoft Edge/Default/Favicons
和 ~/Library/Application Support/Microsoft Edge/Default/Favicons-journal
。