生成用于访问web应用程序(NodeJS)的安全可共享URL



我正在NodeJS+Express中构建一个应用程序,团队可以在其中相互共享信息和聊天(有点像内部消息论坛(。

有时,团队的客户需要根据具体情况查看和编辑这些存储的信息(例如,客户提出问题并希望使用我的应用程序与团队来回发送消息(。在这种情况下,我不希望客户必须注册帐户。

因此,我想知道生成URL的最安全策略是什么,在该URL中,任何拥有该URL的人都可以在单个文档的范围内查看和编辑文档/POST数据到我的应用程序,而无需登录

(我已经看到了一些关于这个主题的帖子,但它们都很老了,并没有关注这个特定的案例。(

首先,我完全可以理解它的好处,但它仍然不是一个最佳的想法。然而,我想总结一些想法和建议,这些想法和建议将有助于您的发展:

  • 这样的链接不应该能够执行关键操作或读取高度敏感的数据
  • 访问应该是唯一的和短暂的。例如,客户可以输入他的电子邮件地址或手机号码并收到访问代码
  • 如果你生成随机URL,它们应该以安全的随机方式生成(例如,uuid提供了一种创建加密强随机值的方法(

如果我必须设计这个,我会提供尽可能少的功能。此外,管理员在发布文档时必须输入可信的电子邮件地址和/或手机号码。然后,带有UUIDv4的URL被发送到此频道,当客户单击链接时,如果可能的话,他会在一个单独的频道上获得一个短暂的访问代码(如果只配置了一个,则在同一频道上(。这样可以防止未经授权的人访问文档的危险,以防客户出于愚蠢而转发原始URL。

最新更新