使用访问令牌保护API

时间:2013-05-23 10:13:02

标签: api http api-design

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

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

'Authorization: Token token="c576f0136149a2e2d9127b3901015545"'

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

由于

1 个答案:

答案 0 :(得分:1)

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

在HTTP标头中设置访问控制机制非常糟糕,因为HTTP 没有安全性。这意味着所有数据,包括密码,标题等都以明确传输。

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

只有这样,通过隧道通过安全的SSL隧道确保整个HTTP通信是安全的,您才能安全地将访问控制机制放在标头中。虽然如果您使用的是SSL隧道,那么放置令牌的位置并不重要。