https带有令牌参数的URL:它有多安全?

Fla*_*kou 77 security url https token

在我们的网站上,我们根据用户的私人信息(通过表格提供)向用户提供模拟.我们希望以后允许他们重新使用他们的模拟结果,但不要强迫他们创建登录/密码帐户.

我们曾想过给他们发送一封带有链接的电子邮件,他们可以从中获取结果.但是,当然,我们必须保护此URL,因为私有数据受到威胁.

因此,我们打算在URL中传递令牌(如字母和数字的40个字符组合,或MD5哈希)并使用SSL.

最后,他们会收到这样的电子邮件:

您好,
请在https://www.example.com/load_simulation?token=uZVTLBCWcw33RIhvnbxTKxTxM2rKJ7YJrwyUXhXn上取回您的搜索结果

你怎么看待这件事?它足够安全吗?你会为我的令牌生成提出什么建议?如何在https请求中传递URL参数?

Jos*_*rke 91

SSL将保护传输中的查询参数; 但是,电子邮件本身并不安全,电子邮件可能会在到达目的地之前沿任意数量的服务器反弹.

此外,根据您的Web服务器,可能会在其日志文件中记录完整的URL.根据数据的敏感程度,您可能不希望IT人员访问所有令牌.

此外,带有查询字符串的URL将保存在用户的历史记录中,允许同一台计算机的其他用户访问该URL.

最后,这使得这个非常不安全的是,URL在Referer头中发送给任何资源的所有请求,甚至是第三方资源.因此,如果您使用Google Analytics(分析),则会向Google发送URL令牌及其全部内容.

在我看来,这是一个坏主意.

  • 从HTTPS到HTTP时,大多数浏览器都不会删除引用者吗? (5认同)
  • 那么解决方案是什么? (3认同)
  • 这类似于用户激活(或密码重置)链接吗?那该如何处理呢?许多网站都将重置网址发送到电子邮件,但POST是不可选项,因为它应可单击。谢谢。 (2认同)

Aar*_*lla 12

我会用饼干.工作流程应如下所示:

  1. 用户第一次来到您的网站.
  2. 网站设置了一个cookie
  3. 用户输入数据.使用存储在cookie中的某些密钥将数据存储在DB中.
  4. 当用户离开时,您向他们发送一封包含https:链接的电子邮件
  5. 当用户回来时,站点会发现cookie并向用户显示旧数据.

现在,用户想要在不同的计算机上使用不同的浏览器.在这种情况下,请提供"转移"按钮.当用户点击此按钮时,她将获得"令牌".她可以在另一台计算机上使用此令牌来重置cookie.这样,用户就决定了她想要转移令牌的安全性.