首页 > 解决方案 > 如何允许一次性使用 Web 应用程序?

问题描述

我正在寻找一种允许用户使用我的应用程序一次的方法。原因是因为我正在做一个测验,我不希望人们第二次做测验并在我的数据库中输入另一个条目。我正在使用 React、Express 和 postgresql。

我正在考虑通过IP地址限制用户。但问题在于存在动态IP。另一个想法是从 google、facebook 注册并为每个用户创建一个密钥。问题在于人们可以创建另一封电子邮件。但这可能是最好的解决方案。

也许你们有更好的想法。你知道怎么做吗?

标签: web-applications

解决方案


这是一个很难解决的问题,需要权衡取舍。您的保护越强大,您必须在用户面前设置的障碍就越多。

有一些常见的解决方案。

IP 地址- 对用户没有障碍,但非常不可靠 - 大多数 ISP 为同一用户分配不同的 IP 地址以进行不同的浏览会话。

Cookies - 您可以在用户完成测验后在浏览器上放置一个 cookie。对用户没有障碍,但通过删除 cookie 很容易绕过,并且用户可以使用不同的设备。

登录/注册方案- 您可以要求用户在完成测验之前进行身份验证,并验证他们的电子邮件地址或电话号码。这给用户造成了障碍——并非所有人都愿意这样做。通过使用多个电子邮件地址和刻录机电话轻松规避。

第 3 方身份验证- 您可以要求用户使用第 3 方身份提供者进行身份验证。像 Facebook 这样的网站非常擅长清除虚假资料。这将在用户面前设置一个额外的障碍 - 不是每个人都有 Facebook 个人资料,或者希望你知道它。规避起来相当棘手,只要您只允许一个第 3 方身份提供者,并且他们有一个很好的“无虚假资料”政策。

强身份验证- 需要明确的、经过验证的身份的应用程序使用强身份验证。示例包括网上银行和(在英国)纳税申报。这些申请通常需要提交一些其他身份证明,例如您的护照照片。对用户来说是一个巨大的障碍,而且只对必备应用程序真正可行。


推荐阅读