我们如何访问浏览器历史记录?

时间:2020-03-05 18:49:04  来源:igfitidea点击:

一些电子营销工具声称可以根据我们以前的位置来选择要显示的网页。也就是说,如果我们一直在浏览卡车站点,然后转到Ford.com,则第一页将是Ford Explorer。

我知道我们可以使用HTTP_REFERRER获得前一页,但是我们如何知道它们在6个站点之前在哪里?

解决方案

回答

Javascript可以入门:http://www.dicabrio.com/javascript/steal-history.php
还有更多的nefarius手段:http://ha.ckers.org/blog/20070228/steal-browser-history-without-javascript/
编辑:我想补充一点,尽管这行之有效,但却是一种卑鄙的营销手法和侵犯隐私的行为。

回答

我们无法访问浏览器历史记录中的条目值(无论是客户端还是服务器端)。我们所要做的就是向后发送浏览器或者转发浏览器的许多步骤。否则,历史记录的条目对程序访问是隐藏的。

另请注意,如果用户在URL栏中键入地址而不是点击指向页面的链接,则HTTP_REFERER将不存在。

回答

无法直接访问浏览器历史记录,但是我们可以将网站列表与用户的历史记录进行比较。之所以可以这样做,是因为浏览器将不同的CSS样式归因于一个尚未访问的链接和一个已经访问过的链接。

利用这种样式差异,我们可以使用纯CSS来更改页面的内容,但通常使用javascript。这里有一篇很好的文章,关于使用此技巧通过仅显示用户实际使用的RSS聚合器或者社交书签链接来改善用户体验:http://www.niallkennedy.com/blog/2008/02/browser-history -sniff.html