识别没有cookie的用户等

时间:2014-01-14 20:41:06

标签: node.js session cookies

我想写一个新的聚合器网站,用户可以在网站上提交新闻和上下投票(非常基本的东西,类似于一个微小的reddit)。

我的问题是:

  • 某人每天只能上传或下载一篇新闻文章
  • 我不希望用户如此注册
  • 投票Cookie可以删除

如何识别一天中的用户,以及如何确保该用户在几分钟之前没有对某篇文章进行投票。

这甚至可能吗?

2 个答案:

答案 0 :(得分:3)

您可以使用浏览器指纹

浏览器指纹是根据每个浏览器在每个连接(HTTP标头)上发送的信息以及通过基本JavaScript提供的其他信息生成的标识符。

信息如:

  • 用户代理
  • 语言
  • 已安装的插件
  • 屏幕分辨率
  • ......等等。

浏览器指纹识别不是防弹的,因为它有self-defense tactics但它可以使你的食谱更有趣。尽管存在争议,但它是widely used

Mozilla有great wiki article about the subject

您可以在https://panopticlick.eff.org/

查看自己的浏览器指纹

答案 1 :(得分:2)

简短回答:不,如果没有登录且没有使用cookies 或类似的技术,就无法可靠地识别用户。

我讨厌发布这个,但evercookie项目是一个很好的集合,可以制作像cookie一样比标准cookie更持久的技术。它使用了一些巧妙的技巧,但人们也可以说它有一些隐私问题。我不建议你实施它。即使你做了(或借用了他们的一些想法),那么

  • 任何熟悉技术的远程用户仍然可以清除cookie。
  • 您无法防范使用多个设备和浏览器的用户。
  • 您不能(可靠地)防范未通过浏览器发布的用户,从而规避cookie和其他技巧。
  • 等等。