跟踪未登录的用户


Track a user that is not logged in

是否可以在不使用会话或cookie的情况下跟踪未登录的用户?有没有更可靠的方法?
就像www.filefactory.com或其他类似的下载空间网站,他们可以跟踪如果你是免费用户和发送下载请求,在开始下一个下载之前,你必须等待x时间,我认为它使用会话或cookie,但清除会话和cookie或更改IP地址后,它仍然是一样的。

我是一个试图创建一个网站的新手,我必须在像这个示例网站登录之前跟踪用户,我使用php和javascript设置会话和超时来保持捕获用户状态(在dir或…我一直在寻找很长一段时间,如果有人知道任何教程或只是一个小线索如何做到这一点,像这个网站,它将不胜感激。

谢谢!

你不跟踪谁没有登录,你跟踪谁登录了。所以默认情况下,每个人都得到链接,你必须等待xx秒。如果您清除cookie并开始一个新的会话,您仍然是默认用户。

现在,当某人登录时,您可以在会话中添加他已经过身份验证。然后在显示链接的页面上进行检查。现在,如果这个登录的用户清除了他的cookie,他将再次成为默认用户,直到他再次登录。

//not actual php code
if (authenticated) {
  //show direct download link
} else {
  //show link after xx seconds
}

如果你不想使用session来跟踪登录的用户,还有其他的方法,但大多数情况下它不是真正需要的,甚至更不安全。另一种方法是使用authenticate header或将信息保留在查询字符串中。在我看来,这两种方法都不太安全,但可以使用。

现在,如果目标是防止免费用户下载两个文件,并且需要等待第二个链接,您也可以通过将用户信息组合到某种哈希来进行有根据的猜测,如果是同一用户。EG user-agent, ip地址,位置。这将不是100%准确,但可以给你一些想法,返回免费用户没有会话。