security - WebSocket认证安全

标签 security authentication websocket

我正在尝试向注册成员(member)区域的安全 WebSocket 服务器 (wss) 验证客户端身份。

一旦成员连接到 Web 服务器,我就会在数据库中记录一个唯一 token (与该成员关联),该 token 显示在启动与 Web Socket 服务器的连接的页面上的隐藏字段中。

然后 token 被发送到 WebSocket 服务器,该服务器使用 token 对帐户进行身份验证。

我确实不是安全专家,我想听听您对我的身份验证安全性的看法。

是否存在任何风险(Cookie 劫持除外)?考虑到 WebSocket 没有规定服务器在 WebSocket 握手期间对客户端进行身份验证的任何特定方式,是否有更好的方法继续进行。

我使用 Ratchet WebSocket。

最佳答案

是的,一种选择是使用 cookie(和 TLS 以避免 cookie 劫持):

在“基于纯旧 HTML 表单”登录后设置 cookie,将 cookie 传输到 WebSocket 服务器,并使用 cookie 来验证 WebSocket。

这是一个complete example使用 WebSocket 进行基于 Mozilla Persona 的身份验证。

您询问了棘轮车。这个例子不是 Ratchet,但它可能会给你一些线索 - 这就是为什么我认为可以指出来。

关于security - WebSocket认证安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22593948/

相关文章:

java - 具有 Html 页面和 Rest Web 服务身份验证的 Spring Security

azure - 对 Azure 中的 Websocket 限制、事件连接进行故障排除

Heroku WebSocket 连接超时

javascript - 在websockets javascript和golang服务器上工作,尝试发送文件和图像

java - 使用 Spring 保护 REST url

javascript - 防止用户通过 Firebug/Chrome 开发工具查找密码

security - 针对不同客户的全公司密码方案

php - 如何在 PHP/MySQL 中对用户进行身份验证?

angularjs - 无法以 Angular 方式访问 $http 响应中的 'WWW-authenticate' header

linux - 应用程序哈希客户端的 MAC 地址和计算机名称以及其他计算机属性以创建唯一 ID