我可以通过javascript获取页面访问者的完整浏览器历史记录吗?

Can I get a page visitors full browser history via javascript?

本文关键字:浏览器 历史 记录 javascript 可以通过 获取 访问者      更新时间:2023-09-26

我想制作一个简单的网络应用程序,查看某人的浏览历史记录并根据他们查看的内容推荐新网站,但我遇到了很多安全性和非标准化。基本上,我想知道我正在尝试做的事情是否可能?

我发现 chrome 有一个名为 chrome.history 的特殊属性,它会提示用户授予权限,然后返回一个包含信息的数组,但在对 webkit 进行某种更改后,它似乎不再起作用。Mozilla也有一个名为window.history的东西,但我不确定它是否有效。

这能做到吗?有什么建议吗?

不,如果有可能,这是一个安全问题。您可以使用 php 中的$_SERVER['REFERRAL']来查看用户在您的网站上之前可以从哪里获得,但仅适用于非 httpS 网站。

如果有可能,所有这些广告公司都不必使用跟踪cookie:)他们可以简单地检查您的历史记录。

您如何访问浏览器历史记录? 有一些阴暗的选项,我不建议使用所有这些选项。这是试图获得对隐私敏感的用户信息。即使在提示之后,用户也会感到不安全,因为他们不知道他们到底允许你做什么,

这可能在IE中不起作用。所有现代浏览器都非常忙于尝试升级隐私问题,我认为他们不会喜欢这样。


一种方法可能是编写一个可以访问它的浏览器插件,或者使用带有用户浏览的iframe的小顶栏制作您的网站,但这并不理想。

是的,如果您有他们可能访问过的网站列表,则可以这样做。 只要用户意识到他们的浏览器历史记录将用于识别潜在兴趣,我认为requestAnimationFrame计时技巧是解析访问过的网站的体面方法。

  • 演示文稿 https://www.youtube.com/watch?v=KcOQfYlyIqw
  • 白皮书 https://media.blackhat.com/us-13/US-13-Stone-Pixel-Perfect-Timing-Attacks-with-HTML5-WP.pdf

您仍然可以使用:visited但它需要用户单击链接。

  • 基于网站基因 http://tinsnail.neocities.org/的配置文件
  • 浏览器历史作为 Asteriods 游戏 http://lcamtuf.coredump.cx/yahh/

就像Martijn一样,您不能访问用户的历史记录,因为这是一个安全问题。

但我认为您可以编写自己的chrome/firefox扩展并将其发布到网上商店。

据我所知,chrome.history工作正常,并且在chrome开发人员的文档中,您可以在此处找到使用:https://developer.chrome.com/docs/extensions/reference/history/

据我所知,只有Chrome和Firefox通过扩展程序提供完整的浏览器历史记录访问。

https://developer.chrome.com/docs/extensions/reference/history/

https://developer.mozilla.org/en-US/docs/XPCOM_Interface_Reference/nsIBrowserHistory