如何限制每台计算机只能进行一次会话(不登录)


How to restrict to one session (not login) per computer

我正在创建一个调查网站,我正在尽最大努力避免用户登录-我希望回答我的调查的人是我所在大学的匿名成员,他们打开链接并直接回答问题。因此,我通过会话变量跟踪用户完成的问题/调查

但我不希望一个用户通过清除cookie提交数十个问题/调查,从而有效地重置他/她的会话。有人知道该怎么处理吗?

(如果有人想知道其他方法可以让人们进行多次提交,也请告诉我!我也在研究防止相同用户使用不同浏览器的文章)

永远不要信任用户。曾经

你有几个选择。所有都有优点/缺点

  1. 按IP地址-每台计算机的响应限制为1个IP地址。这会遇到动态IP地址问题,并且每台长时间保留其IP的计算机只允许响应
  2. 发送一次性响应令牌-向每个响应者发送一个唯一的链接。每个链接都包含一个一次性代币,可以兑换该代币进行一次调查
  3. 收集他们的电子邮件地址-在结果中重新显示此信息。我不确定你的设置,但我想我会提到这一点,以防你只是数据中间人