因此,正确的回答是,您不能仅通过HTTP over IP协议实现您想要的结果。但是,使用cookie、IP和HTTP请求中的字段的组合,您就有很好的机会猜测它是哪台机器。用户倾向于只使用一种浏览器,而且通常是在一台机器上,所以这可能是相当可靠的,但这取决于受众……技术人员更有可能搞砸这些东西,并使用更多的机器/浏览器。此外,这甚至可能与地理定位IP的一些尝试相结合,并使用这些数据。但在任何情况下,都没有永远正确的解。
var now = new Date();
var window.__sid = "SessionID"; // Server generated
setCookie("sid", window.__sid, now.setFullYear(now.getFullYear() + 1, now.getMonth(), now.getDate() - 1));
if( "localStorage" in window ) {
window.localStorage.setItem("sid", window.__sid);
}
现在,每当浏览器请求tracking.js时,我们的服务器将响应一个304 Not Modified结果,并强制执行tracking.js的本地副本。
我还是不明白。给我解释一下
假设用户清除了他们的浏览历史并刷新了页面。用户计算机上唯一剩下的东西是浏览器缓存中的tracking.js的副本。当浏览器请求tracking.js时,它会收到一个304 Not Modified响应,这导致它执行它收到的tracking.js的第一个版本。tracking.js执行并恢复被删除的SessionID。
new Fingerprint2().get(function(result, components) {
console.log(result) // a hash, representing your device fingerprint
console.log(components) // an array of FP components
//submit hash and JSON object to the server
})