生成用户可以响应的唯一链接

时间:2014-01-01 23:56:14

标签: javascript node.js web-applications web

我正在构建一个网络应用程序,每次向某人发送文件(一张实物纸)时,该应用程序会向某人发送电子邮件。该电子邮件包含一个允许用户请求提取文件的链接。该链接应包含用户的ID和文档的ID。有没有一种安全的方法来生成此链接?这是一个很好的做法还是有其他方法来实现这样的事情?

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

我正在为服务器端使用expressjs。

  • 感谢

2 个答案:

答案 0 :(得分:1)

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

这解决了几个问题:

  • 攻击者无法猜出UUID
  • 没有关于可以提取的UUID的信息

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

答案 1 :(得分:0)

显然,哈希不会包含文档和用户ID。所以你是否想要安全混淆是有点混乱(在这种情况下你会想要使用哈希算法(如果你是偏执的那么盐),然后快速检查是否有一个具有相同ID的文档并生成一个新的避免文档ID不匹配)或包含用户和文档ID(在这种情况下,创建一个包含两者的格式和一个简短的,通常是会话相关的ID,以防止文档ID不匹配将是完美的。)