2016-08-18 59 views
0

我们当前的REST API实现对查询字符串中的所有类型的请求(PUT,POST,GET)使用apiKey。我觉得这是错误的,但无法解释为什么(也许apiKey可以兑现服务器和客户端之间的某处)。喜欢的东西:查询字符串中的验证令牌

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

所以,它是一个安全问题吗?请描述HTTP和HTTPS连接的情况下

回答

2

HTTP

你的绝密值可以看到和thirdparties截获每当你从客户端发送到服务器,反之亦然,不论你是否使用PUT,POST等等。当你使用cookies来存储这些值而不是查询字符串时,情况更是如此。

HTTPS:

当数据在传输过程中您的客户端和服务器之间不能因为被截获其通过HTTPS保护,即使是在查询字符串。但是大多数人认为查询字符串中的数据发送不好,因为很多系统都会记录查询字符串。例如,大多数服务器都配置为使用路径&查询参数打印访问日志。另外,如果它来自浏览器,它可以存储在浏览器历史记录中。