我正在构建一个Web应用程序,并且我的Web服务器是安全的,这意味着它使用带有前端的ssl证书来加密连接。
用户登录时,将创建一个看起来像这样的JSON对象,并将其发送到服务器。
{
username:"the user's username",
password:"the user's password"
}
在服务器上,这可以通过使用盐的哈希算法进行验证。一旦验证通过,就会创建一个在一定时间内有效的api令牌,并在标头中来回传递,以便在发出请求时验证用户。像这样的最佳做法/安全性发送用户名和密码,还是在标题中发送用户名和密码更好?
让我们将其分为许多点:
1)您使用有效的SSL证书来保护用户与服务器之间的通信(必须有效)
2)最好在POST请求的正文中发送用户名和密码(切勿使用GET发送敏感信息(例如凭据))
3)最佳做法是在HTTP请求和响应标头中发送api令牌(再次不要使用GET发送敏感信息,例如会话令牌)
因此,基于以上几点,似乎此实现没有风险,但是您需要考虑以下几点:
1)对于空闲用户,API令牌的超时时间应较短。(5〜15分钟是根据应用程序的关键程度得出的平均值)
2) API令牌的长度应为长字符串。30〜40个字符。
3) API令牌生成必须是随机的,并且难以预测以防止受到攻击(会话预测攻击)。
希望对您有帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句