Node.js Socket.io:检查每个事件或连接的身份验证
我想确保用户在发送聊天之前已登录。为此,我应该使用在每个连接上触发的身份验证中间件,还是使用在每个事件上触发的中间件 我担心如果我使用前者,用户可以登录然后注销(不丢失连接),并在未登录时继续发送消息)Node.js Socket.io:检查每个事件或连接的身份验证,node.js,websocket,socket.io,Node.js,Websocket,Socket.io,我想确保用户在发送聊天之前已登录。为此,我应该使用在每个连接上触发的身份验证中间件,还是使用在每个事件上触发的中间件 我担心如果我使用前者,用户可以登录然后注销(不丢失连接),并在未登录时继续发送消息) 然而,通过查看所有不同的stackoverflow帖子,没有人提到这个问题。有人能告诉我常用的方法是什么吗?根据您问题后的评论,您可以配置两个项目来更好地保护您的用户 调整socket.io实现: 升级socket.io实现以使用2.x 使用“socket.io#origins”配置来消除 任何
然而,通过查看所有不同的stackoverflow帖子,没有人提到这个问题。有人能告诉我常用的方法是什么吗?根据您问题后的评论,您可以配置两个项目来更好地保护您的用户 调整socket.io实现:
来源:您的登录和注销是如何工作的?在建立socket.io连接之前,它是通过socket.io完成的还是通过网页中的http完成的?如果是通过http完成的,那么当用户注销时,您可以关闭该用户的所有socket.io连接,这将阻止您担心的事情。一个典型的web页面在注销后会重定向到一个新页面(从而删除socket.io连接)。这是典型的做法吗?例如,如果黑客知道如何在注销时保持连接,那么检查每个发射是否会更安全?