我没有使用任何类型的SSL,我想知道以下内容:
如果我有一个存储在我的数据库中的api密钥列表,我强制要使用API的用户使用以下HTTP标头进行调用:
'Authorization: Token token="c576f0136149a2e2d9127b3901015545"'
然后我检查该令牌是否存在。将它放在HTTP标头中是否安全?如果没有,我怎么能保护它?
由于
答案 0 :(得分:1)
不,这绝对不安全。它遭受了中间人和重播攻击。
在HTTP标头中设置访问控制机制非常糟糕,因为HTTP 没有安全性。这意味着所有数据,包括密码,标题等都以明确传输。
当您使用SSL时,您的HTTP请求将通过安全连接进行隧道传输(为什么它是安全的,这里不太重要,只是假设它是。)
只有这样,通过隧道通过安全的SSL隧道确保整个HTTP通信是安全的,您才能安全地将访问控制机制放在标头中。虽然如果您使用的是SSL隧道,那么放置令牌的位置并不重要。