【问题标题】:HTTP Auth vs Complex URLHTTP Auth 与复杂 URL
【发布时间】:2020-01-11 21:11:57
【问题描述】:

想象一下,我需要提供一个带有私有数据的安全端点。考虑user1password1234。两者之间的安全性有什么区别:

  1. https://website.com/myendpoint/user1/password1234

  2. https://website.com/myendpoint 使用 HTTP 基本身份验证和上面给出的凭据

在我看来实际上没有区别,但我没有任何具体/有力的论据。

【问题讨论】:

    标签: http security https http-authentication


    【解决方案1】:

    确实有很大的不同。根据最佳实践,您不应在 url 中包含任何敏感信息(更不用说密码)。 原因如下:

    • 网址会记录在服务器上(通常记录到文件,但其他数据存储可能更糟),这可能允许攻击者提取这些数据,例如备份。

    • 可能会在中间代理上记录和/或检查 URL。考虑使用 https 检查的公司代理。

    • URL 缓存在客户端并添加到浏览器历史记录中。已获得对 PC 的访问权限的脚本或恶意用户可能会从那里提取密码。即使预期的客户端是程序化的,也请考虑出于任何原因想要通过浏览器使用您的应用或 API 的用户(用户非常有创意 :))。

    • 可能会在屏幕上看到网址。

    当然,并非所有这些都适用于所有用例,但其中一些您无法控制。因此,最好不要在您的网址中包含任何敏感数据。 Http basic 优于 https。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-30
      • 2016-12-27
      • 2021-10-01
      相关资源
      最近更新 更多