queryString中的身份验证令牌

时间:2016-08-18 10:27:46

标签: rest security restful-authentication rest-security

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

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

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

1 个答案:

答案 0 :(得分:2)

<强> HTTP

无论您是使用PUT,POST等,每当您将客户端发送到服务器或反之亦然时,第三方都可以看到并拦截您的超级秘密值。当您使用cookie来存储这些值时,这甚至是正确的查询字符串。

<强> HTTPS:

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