【问题标题】:How to secure REST GET method?如何保护 REST GET 方法?
【发布时间】:2017-02-15 22:16:10
【问题描述】:

HTTP GET 方法将通过https://www.example.com/users?id=1 中的url 传输数据。如果我使用 HTTPS 连接将是安全的,但链接中的敏感数据仍然可以在处理客户端请求的链接时记录在服务器上,从而暴露一些黑客稍后获取的秘密。

OWASP recommends 不会在链接上存储任何内容,因为它可以登录到网络服务器上。

但是 REST 使用 GET 来检索数据,就像 CRUD 操作中的“读取”一样。

所以问题是,如何在 REST 上进行安全的 GET 调用?


编辑:一个例子:OWASP 说不要在 URL 地址上包含 API 密钥,但是由于在 GET 请求上发送的所有数据都放在 URL 上,我将如何将 API 密钥发送到服务器其他授权来自该用户的 GET 响应,因为我不能将它放在 URL 本身上?

OWASP 没有解释如何实现这一点。

【问题讨论】:

  • 您应该更具体地了解敏感数据的真正含义。不同类型的数据需要不同类型的保护。
  • 我的意思是任何被记录的数据都会被泄露。这不是如何保护通过 GET 传输的内部数据的问题,而是如何安全地使用 GET。
  • 我明白了。再说一遍:什么样的数据?
  • 查看编辑,我举了一个例子,可能会进一步启发事情。
  • 是的,我只是想了解我发布的链接......在这里:owasp.org/index.php/REST_Security_Cheat_Sheet 在第一个主题下:“身份验证和会话管理”

标签: rest http security https owasp


【解决方案1】:

编辑:一个例子:OWASP 说不要在 URL 地址上包含 API 密钥,但是由于通过 GET 请求发送的所有数据都放在 URL 上,我如何将 API 密钥发送到服务器以进行授权来自该用户的 GET 响应,因为我不能将它放在 URL 本身上?

你错了,所有数据都必须在 URL 中指定。有很多东西实际上进入了 HTTP 标头!您应该使用 Authorization 标头,而不是 URL 中的 API 密钥。

【讨论】:

  • 我是 REST Web 编程的新手,我在 vanilla javascript 和 jquery 上看到的所有 AJAX 请求都传递了服务器的 GET URL 上的所有数据。
  • @mFeinstein k 现在你知道要找什么了。
猜你喜欢
  • 2013-03-20
  • 2019-08-21
  • 2021-09-19
  • 2013-01-02
  • 2019-04-02
  • 2021-05-16
  • 2014-12-11
  • 1970-01-01
  • 2014-09-06
相关资源
最近更新 更多