【问题标题】:authenctication token in a queryString查询字符串中的身份验证令牌
【发布时间】:2016-12-25 05:52:11
【问题描述】:

我们当前的 REST API 实现使用 queryString 中的 apiKey 来处理所有类型的请求(PUT、POST、GET)。我觉得这是错误的,但无法解释原因(也许 apiKey 可以在服务器和客户端之间的某处兑现)。比如:

POST /objects?apiKey=supersecret {name: 'some'}

那么,这是一个安全问题吗?请描述HTTP和HTTPS连接情况

【问题讨论】:

    标签: rest security restful-authentication rest-security


    【解决方案1】:

    HTTP

    无论您是否使用 PUT、POST 等,无论您是否使用 PUT、POST 等,只要您将超级机密值从客户端发送到服务器时,第三方都可以看到和拦截您的超级机密值。当您使用 cookie 来存储这些值时,甚至是这样查询字符串。

    HTTPS:

    当数据在您的客户端和服务器之间传输时,它无法被拦截,因为它受 https 保护,即使它在查询字符串中也是如此。但是大多数人认为在查询字符串中发送数据很糟糕,因为许多系统都会记录查询字符串。例如,大多数服务器都配置为打印带有路径和查询参数的访问日志。此外,如果它来自浏览器,它可以存储在您的浏览器历史记录中。

    【讨论】:

      猜你喜欢
      • 2013-02-22
      • 2014-02-17
      • 2017-05-02
      • 1970-01-01
      • 2019-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-17
      相关资源
      最近更新 更多