当你需要唯一用户但无法强制登录
Source: Dev.to
引言
我有一个课程项目,需要先展示信息,然后通过调查收集用户数据。一个关键问题是确保每位用户只能提交一次唯一的回复。
基于邮箱的认证
最直接的解决方案是使用基于邮箱的认证系统(例如 Google 登录)。虽然有效,但对于一个简单的调查来说,这种做法显得有些大材小用,尤其是当参与者没有任何激励时。
基于 IP 的识别
我尝试过通过 IP 地址来识别用户。很快就发现了它的局限性:
- IP 地址可能经常变化,尤其是在移动设备上用户旅行时。
- 即使在家庭网络中,我也能在一段时间后提交多次投票。
- 刷新页面并没有重置限制,说明问题更为复杂。
基于 Cookie 的识别
使用 Cookie 来追踪用户也存在显著缺点:
- 更换设备(例如从手机切换到桌面电脑)会导致无法阻止多次响应。
- 某些浏览器和扩展默认阻止 Cookie,降低了可靠性。
结论
在没有传统认证系统(如 Google 登录)的情况下,可靠地识别唯一用户极其困难。每种方法——邮箱认证、IP 追踪或 Cookie——都有各自的优缺点,最佳方案取决于项目的具体需求和约束。
项目链接: