我需要找出一种方法,唯一地识别每台计算机访问我正在创建的网站。有人有什么建议吗?
因为我想解决方案工作在所有机器和所有浏览器(在合理的范围内),我试图使用javascript创建一个解决方案。
饼干可不行。
我需要基本上创建一个guid的能力,这是唯一的计算机和可重复的,假设没有硬件变化发生在计算机上。我正在考虑的方向是获得网卡的MAC和这种性质的其他信息,这将id访问网站的机器。
我需要找出一种方法,唯一地识别每台计算机访问我正在创建的网站。有人有什么建议吗?
因为我想解决方案工作在所有机器和所有浏览器(在合理的范围内),我试图使用javascript创建一个解决方案。
饼干可不行。
我需要基本上创建一个guid的能力,这是唯一的计算机和可重复的,假设没有硬件变化发生在计算机上。我正在考虑的方向是获得网卡的MAC和这种性质的其他信息,这将id访问网站的机器。
当前回答
一个技巧:
Create 2 Registration Pages: First Registration Page: without any email or security check (just with username and password) Second Registration Page: with high security level (email verification request and security image and etc.) For customer satisfaction, and easy registration, default registration page should be the (First Registration Page) but in the (First Registration Page) there is a hidden restriction. It's IP Restriction. If an IP tried to register for second time, (for example less than 1 hour) instead of showing the block page. you can show the (Second Registration Page) automatically. in the (First Registration Page) you can set (for example: block 2 attempts from 1 ip for just 1 hour or 24 hours) and after (for example) 1 hour, you can open access from that ip automatically
请注意:(第一注册页)和(第二注册页)不应在分开的页面。你只写了一页。(例如:register.php),并在第一PHP样式和第二PHP样式之间切换
其他回答
您可以使用fingerprintjs2
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
})
在此之后,您可以根据现有用户检查所有用户并检查JSON相似性,因此即使他们的指纹发生了突变,您仍然可以跟踪他们
实际上,您想做的事情无法实现,因为协议不允许这样做。如果静态ip被普遍使用,那么你可能就能做到这一点。它们不是,所以你不能。
如果您真的想要识别用户,请让他们登录。
因为它们可能会移动到你网站上的不同页面,你需要一种方法来跟踪它们的移动。
只要他们登录了,你就可以通过cookie /链接参数/信标等跟踪他们在你网站上的会话,你就可以很确定他们在这段时间内使用的是同一台计算机。
最终,如果你的用户没有使用你自己的本地网络,也没有静态IP地址,说这能告诉你他们在使用哪台计算机是不正确的。
如果你想要做的事情是在用户的合作下完成的,每个cookie只有一个用户,他们使用单一的网络浏览器,那就使用cookie。
这些人开发了一种指纹识别方法,可以非常准确地识别用户:
https://panopticlick.eff.org/static/browser-uniqueness.pdf
We investigate the degree to which modern web browsers are subject to “device fingerprinting” via the version and configuration information that they will transmit to websites upon request. We implemented one possible fingerprinting algorithm, and collected these fingerprints from a large sample of browsers that visited our test side, panopticlick.eff.org. We observe that the distribution of our finger- print contains at least 18.1 bits of entropy, meaning that if we pick a browser at random, at best we expect that only one in 286,777 other browsers will share its fingerprint. Among browsers that support Flash or Java, the situation is worse, with the average browser carrying at least 18.8 bits of identifying information. 94.2% of browsers with Flash or Java were unique in our sample.
通过观察回访用户,我们估计浏览器指纹随时间变化的速度。在我们的样本中,指纹变化很大 很快,但即使是一个简单的启发式通常也能猜出指纹是先前观察到的浏览器的“升级”版本 指纹,99.1%的猜测正确率和假阳性率只有 0.86%。
We discuss what privacy threat browser fingerprinting poses in practice, and what countermeasures may be appropriate to prevent it. There is a tradeoff between protection against fingerprintability and certain kinds of debuggability, which in current browsers is weighted heavily against privacy. Paradoxically, anti-fingerprinting privacy technologies can be self- defeating if they are not used by a sufficient number of people; we show that some privacy measures currently fall victim to this paradox, but others do not.
The suggestions to use cookies aside, the only comprehensive set of identifying attributes available to interrogate are contained in the HTTP request header. So it is possible to use some subset of these to create a pseudo-unique identifier for a user agent (i.e., browser). Further, most of this information is possibly already being logged in the so-called "access log" of your web server software by default and, if not, can be easily configured to do so. Then, a utlity could be developed that simply scans the content of this log, creating fingerprints of each request comprised of, say, the IP address and User Agent string, etc. The more data available, even including the contents of specific cookies, adds to the quality of the uniqueness of this fingerprint. Though, as many others have stated already, the HTTP protocol doesn't make this 100% foolproof - at best it can only be a fairly good indicator.
当我使用一台从未访问过我的网上银行网站的机器时,我被要求进行额外的身份验证。然后,如果我第二次回到网上银行网站,我不会被要求额外的身份验证……我删除了IE中的所有cookie,并重新登录到我的网上银行网站,完全期待再次被问到身份验证问题。令我吃惊的是,没有人问我。这难道不会让人相信银行正在做某种不涉及cookie的PC标记吗?
这是银行使用的一种非常常见的身份验证类型。
假设您正在通过example-isp.com访问您的银行网站。第一次登录时,系统会要求您输入密码,并进行额外的身份验证。一旦您通过了认证,银行就知道用户“thatisvaliant”已通过身份验证,可以通过example-isp.com访问该网站。
将来,当您通过example-isp.com访问该网站时,它将不会要求额外的身份验证(除了您的密码)。如果您试图通过another-isp.com访问该银行,该银行将再次执行相同的程序。
总之,银行识别的是你的ISP和/或网络块,基于你的IP地址。显然,ISP上的每个用户都不是你,这就是为什么银行仍然要求你输入密码的原因。
当你在另一个国家使用信用卡时,你有没有接到信用卡公司的电话来核实事情是否正常?相同的概念。