将会话ID/密钥作为请求参数传递时存在安全风险

Security risk in passing session ID/ keys as request parameters

本文关键字:参数传递 存在 安全 请求 ID 会话 密钥      更新时间:2023-09-26

我们正在开发一个RESTful聊天API和一个聊天客户端。当客户端发出"初始连接"请求时,我们返回一个带有安全密钥和用户id的json响应。对于后续请求,客户端应发送用户id和安全密钥作为请求参数。请注意,聊天只允许在登录用户之间进行,其他组件会拦截所有请求并进行身份验证和授权。

  1. 在每个请求中发送安全密钥和用户id(通过客户端)是否存在安全风险
  2. 如果是,补救措施/解决方案是什么

由于多种原因,通常认为将安全凭据放在cookie中而不是URL中是更好的做法。其中一个原因是URL可能由基础设施的各个部分(浏览器历史记录、代理日志、web服务器日志文件等)记录,但cookie通常不会以这种方式捕获和存储。