Javascript WebSocket和HTTP安全性,具有共享会话和用户身份验证
因此,我正在研究制作一个图形聊天应用程序/网站(用户坐在一个房间里用2D头像聊天),根据我迄今为止所做的所有研究(很多!),一个LAMP堆栈似乎适合大多数网站,一些node.js和websocket协议用于处理发送的实际聊天数据(用户消息等)。我对创建这个范围的任何东西都没有非常丰富的经验(我更习惯于前端工作),但到目前为止,这是一个有趣的挑战 我的问题是,我似乎找不到很多关于验证用户信息的信息。我已经读到WebSocket本质上是不安全的,最好验证发送数据的来源 不过,我关心的是用户的实际身份。如果我使用Javascript启动套接字连接,如何防止用户“欺骗”任何信息?有没有可能将用户的PHP会话数据连接到处理websocket连接的服务器上,这样Javascript就不会处理实际的消息文本以外的任何内容Javascript WebSocket和HTTP安全性,具有共享会话和用户身份验证,javascript,php,node.js,security,websocket,Javascript,Php,Node.js,Security,Websocket,因此,我正在研究制作一个图形聊天应用程序/网站(用户坐在一个房间里用2D头像聊天),根据我迄今为止所做的所有研究(很多!),一个LAMP堆栈似乎适合大多数网站,一些node.js和websocket协议用于处理发送的实际聊天数据(用户消息等)。我对创建这个范围的任何东西都没有非常丰富的经验(我更习惯于前端工作),但到目前为止,这是一个有趣的挑战 我的问题是,我似乎找不到很多关于验证用户信息的信息。我已经读到WebSocket本质上是不安全的,最好验证发送数据的来源 不过,我关心的是用户的实际身份
例如,如果我以“Kris”登录并发送消息“Hello!”或更改了我的头像图像,我只希望客户端处理“Hello”或头像图像URL,并在服务器端保留所有其他来回传递的信息,如用户名,以防止任何人弄乱客户端代码。问题很广泛,除了缺乏知识和经验外,不涉及任何具体挑战 虽然我仍将对一些可能对您有用的观点进行评论:
再次强调-这是一个过于宽泛、非常“讨论”式的问题,而不是一个具体的挑战。这个问题过于宽泛,除了缺乏知识和经验外,不涉及任何具体的挑战 虽然我仍将对一些可能对您有用的观点进行评论:
再一次-这是一个太宽泛、非常“讨论”式的问题,而不是一个具体的挑战。回答得好。您不应该认为对HTTP身份验证(例如HTTP Basic)的支持在现代浏览器中受到限制。这意味着您需要在web套接字层上实现一些身份验证逻辑。我使用避免在WebSockets上进行任何身份验证,并且在HTTP上进行身份验证之前,使用一些OAuth或类似技术,一旦完成—创建会话用户,并且只有在WebSockets建立连接之后,您恢复会话并检查您是否经过身份验证-如果没有,请断开连接,如果是-很好,您是安全的。聪明的解决方法!我个人试图避免