【问题标题】:how to create a survey app only allow the invited person visit only in a secure way如何创建仅允许受邀人员以安全方式访问的调查应用程序
【发布时间】:2020-11-20 20:47:46
【问题描述】:

我有一个 Node.js 应用程序,数据库是 MSSQL。我已经实现了注册、登录等基本功能以及添加用户等其他功能。 api的认证是使用JWT的,所以当用户登录时,他会收到一个保存在cookie上的token,就像普通的app一样。

我将向应用程序添加新的调查功能。通过调查,它不需要用户登录,也不需要创建新的用户帐户,但只有收到邀请链接的人才能访问。我目前保存在调查主表上的是要接收调查的电子邮件地址和人名,以及一个自动生成的 UUID。调查链接可能是 /survey/UUID。

我应该怎么做以及如何保护调查表?

我的想法是只为每个调查使用创建一个新令牌,并附上邀请链接,然后验证该令牌。但因为它不要求登录,所以我无法使用电子邮件验证令牌。我应该只需要 Recaptcha 吗?或者我需要在这里登录,或者至少需要用户确认他的电子邮件地址以便验证令牌?

【问题讨论】:

    标签: node.js jwt survey


    【解决方案1】:

    您可以在主表上使用 id(主键)自动增量,并使用 10-15 个字符作为密码。您根据您的格式生成令牌,例如 url/id+password。 Id 始终是唯一的,因此它保证每个用户都将拥有自己的令牌。

    【讨论】:

    • 首先,你的意思是我应该创建一个新表来保存密码和生成的令牌吗?其次,使用url/id+密码,是否意味着如果其他人有链接,他也可以访问调查?
    • 你可以使用同一张表,是的,任何有链接的人都可以访问调查。另一种选择是填写电子邮件和密码,而不是 id 和密码。但是,使用 id 允许稍后进行更改,例如请求新的调查链接。
    猜你喜欢
    • 1970-01-01
    • 2019-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-13
    • 2015-10-08
    • 2013-11-01
    • 1970-01-01
    相关资源
    最近更新 更多