Security 是否看到此方法存在任何安全风险?
我正在开发一个RESTful(ish)API,它具有以下身份验证样式:Security 是否看到此方法存在任何安全风险?,security,authentication,Security,Authentication,我正在开发一个RESTful(ish)API,它具有以下身份验证样式: 客户端调用“authenticate”API方法并通过HTTPS POST传递用户名和密码。此方法返回基本帐户信息和“客户端令牌”,该令牌存储在数据库中的用户帐户上 所有进一步的API调用(全部通过HTTPS POST)都需要客户端令牌。如果系统无法通过客户端令牌找到请求者,则该调用将被拒绝 我的开放性问题是: 1) 有人认为这有重大的安全问题吗? 2) 我应该让客户机令牌随时间或更改而过期,有什么好的理由吗?现在我给每
- 客户端调用“authenticate”API方法并通过HTTPS POST传递用户名和密码。此方法返回基本帐户信息和“客户端令牌”,该令牌存储在数据库中的用户帐户上
- 所有进一步的API调用(全部通过HTTPS POST)都需要客户端令牌。如果系统无法通过客户端令牌找到请求者,则该调用将被拒绝
我很想知道每个人对这种方法的想法。我不是要创新,我只是想让我意识到这种方法的风险。您所描述的功能相当于会话cookie,只在您的应用程序中重新实现,因此受到许多陷阱的影响,这些陷阱可能已经被大多数web框架处理过
- 确保你的代币有足够的熵。如果令牌是简单的32位整数,那么胡乱猜测可能足以找到其他人正在使用的令牌
- 如果您随机生成这些令牌,请确保使用加密功能强大的随机数源,否则下一个令牌可能会根据以前的令牌进行猜测
- 如果这些
请求来自脚本和嵌入在网页中的脚本,则将令牌作为显式参数传递,而不是作为声明为POST
和secure
的cookie传递,使得跨站点脚本更容易窃取令牌httponly