我正在开发一个视频流媒体网站。我想计算每个视频的独特观看次数。我参考了互联网上的一些网站,甚至询问了其他一些程序员。他们说要么使用cookies,要么使用会话或IP地址。但这些事情会随着时间而改变。另外,如果可能的话,我们可以使用用户机器的 MAC 地址来做到这一点吗?我在这里也遇到了类似的问题-> http://bit.ly/Qh1KNR。他们说有像浏览器指纹一样使用MAC地址的东西。那么你能告诉我什么方法是最好的吗?
5 回答
是的,所有这些属性都可以改变,并且没有确定的方法来检测同一个人是否观看了两次视频。有人可以在学校观看一次,在家里观看一次,使用不同的浏览器和 IP 地址。
您最好的选择可能是使用 IP 地址,计算一些人两次并跳过一些人(因为启用了 NAT 的路由器)。
另一种方法是只允许注册用户观看视频并记录他们所看到的内容。
您无法使用指纹跟踪用户。指纹的作用是收集有关操作系统、时区、安装的字体、插件等的一些信息……在某些情况下可能有效,但并非 100% 正确。在某些环境(如学校、大学等)中,操作系统、浏览器和几乎所有配置都可能相同,您无法跟踪用户。
您可以使用 Evercookie 概念,将 cookie 数据存储在不同的存储位置。如果用户清除浏览历史或cookies,它将从不同的存储位置恢复cookies。用户必须在 javascript 上创建 evercookie 有一个缺点。
为什么不将 GUID 和其他一些参数以及指纹的一些 MAC 地址一起存储在 cookie 中,这将使您能够对数据进行一些控制以找出唯一性
您可以比 IP 地址更深入。
如果这只是为了跟踪使用情况而不是身份验证,那么您可以根据以下内容存储用户浏览器的初始指纹:
使用像这样的插件:https ://github.com/carlo/jquery-browser-fingerprint
- 已安装的插件及其版本
- 屏幕尺寸
- 操作系统(版本)
你明白了。由于两个用户具有完全相同的分辨率、插件(包括版本)、操作系统(补丁等)的可能性相对较小。