如何获取用户访问过哪些网站
这篇文章探讨的是如何在用户不知情的情况下,间接推断其浏览器历史记录,这在分析用户习惯或竞品时很有价值。直接读取历史或通过Cookie获取是行不通的,但作者介绍了几个巧妙的“曲线救国”技术方案。 最经典的是利用CSS的 `:visited` 伪类。已访问链接默认为紫色,未访问为蓝色,通过JS检测这种颜色差异,理论上就能判断用户是否访问过特定网站。不过,由于隐私安全考量,Chrome、Safari等主流浏览器已修复此漏洞,目前该方案可能只在IE上仍有效。 另一个更前沿的思路来自2013年的黑客大会,利用HTML5的 `requestAnimationFrame` API进行“时间差攻击”。浏览器渲染已访问和未访问的链接时,从数据库查询URL是否存在会有微小的时间差异,通过高精度计时就有可能推断出访问历史。此外,文章还提到了一个未验证的思路:尝试请求网站的 `favicon.ico` 文件,通过缓存命中导致的响应时间差异来辅助判断。 这些方案从不同角度切入,共同揭示了浏览器在历史记录处理上存在的隐私泄露风险,也提醒开发者需持续关注相关安全更新。