2

我没有使用任何类型的 SSL,我想知道以下内容:

如果我的数据库中存储了一个 api 密钥列表,并且我强制想要使用 API 的用户使用以下 HTTP 标头进行调用:

'Authorization: Token token="c576f0136149a2e2d9127b3901015545"'

然后我检查该令牌是否存在。将其放在 HTTP 标头中是否安全?如果没有,我怎么能保护它?

谢谢

4

1 回答 1

1

不,这绝对不安全。它遭受中间人攻击和重放攻击。

将访问控制机制放在 HTTP 标头中是很糟糕的,因为 HTTP没有安全性。这意味着所有数据,包括密码、标头等,都以明文传输。

当您使用 SSL 时,您的 HTTP 请求通过安全连接进行隧道传输(为什么它是安全的在这里并不重要,假设它是)。

只有这样,通过一个安全的 SSL 隧道来确保整个 HTTP 通信是安全的,您才能安全地将访问控制机制放在标头中。尽管如果您使用 SSL 隧道,那么将令牌放在哪里实际上并不重要。

于 2013-05-23T10:21:29.353 回答