【问题标题】:How safe is a link with MD5 hash [closed]使用 MD5 哈希的链接有多安全 [关闭]
【发布时间】:2012-08-21 16:49:55
【问题描述】:

对于我的网页,我使用 (HTTPS) 链接而不是密码来更改页面。在链接中,我使用了 2 个 MD5 哈希值,MD5 的基数是随机的(广告的 ID 和其他一些不可猜测的信息)。 当然,除了拥有带有链接的电子邮件的人之外,我不希望其他人更改页面。这个解决方案实际上有多安全?还有什么其他的选择,我不想用密码……

示例链接:

https://www.huurhulp.nl/wijzigen/wijzigen.php?wijzigen_adv=14&code=523a98367bfb05765fb86a2535966aad

如果带有链接的电子邮件未转发,是否有可能该链接已掌握在其他人手中?可以窃听吗?

【问题讨论】:

  • 我什么都不懂。你应该知道够了 1 MD5 hash
  • 这是基于不记名令牌的身份验证。如果您可以控制这些链接不泄漏,那没有什么问题。考虑过期日期、手动过期、只能使用一次的链接以及随机数而不是哈希。
  • 除非我们知道您要询问的是哪种安全性,否则我们无法告诉您这有多安全。但是,即使您告诉我们,我们也可能需要关闭该问题,因为过于本地化,因为我们希望看到这里提出的一般问题,而不是那些您现在出于任何原因必须抓挠的问题时间,十天后可能不会发挥任何作用。那么你想具体了解什么?
  • 如果你把这一切和用户的IP地址结合起来会更安全;)
  • @Bandye:除非共享密钥发生变化。

标签: php https


【解决方案1】:

根据您的描述,您无法撤销其中一个链接(实际上是不记名令牌)。

这可能是个问题,如果您知道其中一个已泄露,并且您需要阻止通过该链接的访问(并发布一个新链接)。

理想情况下,您会为存储在数据库中的每个页面使用完全随机的标记。

提高安全性的其他选项包括一段时间后过期和使用后过期(如果您的流程是基于电子邮件的,您可以在发生这种情况时发送新令牌)。

我认为一个很好的例子是 Flickr 如何实现访客通行证:您可以创建任意数量的访客通行证,也可以单独撤销它们。

【讨论】:

  • 我现在使用随机散列(因为不猜测散列中的数据)并将这个散列存储在数据库中。用户多次使用这个链接来编辑他的广告,他甚至可以收藏这个链接。我使用 HTTPS,所以我认为该链接无法供黑客或其他不好的人使用,但不确定....
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-20
  • 2019-03-24
  • 2013-07-02
  • 2020-12-08
  • 2012-08-17
  • 1970-01-01
相关资源
最近更新 更多