【问题标题】:Generating unique links that users can respond to生成用户可以响应的唯一链接
【发布时间】:2014-01-19 09:43:07
【问题描述】:

我正在构建一个 Web 应用程序,每当有人收到一份文档(一张实体纸)时,它就会向该人发送一封电子邮件。该电子邮件包含一个链接,允许用户请求提取文档。该链接应包含用户的 ID 和文档的 ID。有没有一种安全的方法来生成这个链接?这是一个好习惯还是有其他方法来实现这样的事情?

我正在考虑在链接上使用散列算法,这是一个好方法吗?

我在服务器端使用 expressjs。

  • 谢谢

【问题讨论】:

    标签: javascript node.js web-applications web


    【解决方案1】:

    例如使用node-uuid 创建一个 UUID 并将其传递到链接上,然后存储在 UUID 链接到的文档的数据库中。

    这解决了几个问题:

    • 攻击者无法猜测 UUID
    • 没有可提取的 UUID 信息

    我认为散列在这种情况下不会有帮助,因为我们只需要一种方法来创建无法猜测的一次性令牌。

    【讨论】:

      【解决方案2】:

      显然,散列不会包括文档和用户 ID。因此,您是否想要安全混淆有点令人困惑(在这种情况下,您需要使用哈希算法(如果您偏执,请加盐),然后快速检查是否存在具有相同 ID 的文档并生成一个新的避免文档 ID 不匹配)或包含用户 ID 和文档 ID(在这种情况下,创建一个包含两者的格式以及一个简短的(通常与会话相关的)ID 以防止文档 ID 不匹配将是完美的)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-03
        相关资源
        最近更新 更多