【发布时间】:2015-05-04 19:48:55
【问题描述】:
您好,我的 Web 应用程序有一个聊天室问题。通过调查,我认为它与设置 origins 选项有关?但我对此表示怀疑,并希望能帮助我朝着正确的方向前进。简而言之,我发现不直接在我的网页上的用户只需在其客户端脚本中添加connect(ip:port) 函数即可轻松连接到聊天端口。需要什么安全机制来防止这种访问。此外,我并没有使用 node.js 来实际提供网页,而是使用 laravel。 Node 主要实现聊天功能,将消息传递给客户端和从客户端传出,并将它们存储在内存中。
我希望我的问题足够清楚,如果没有让我知道
【问题讨论】:
-
我遇到了完全相同的问题,看起来其他聊天网站能够连接到我的聊天服务器。你是如何限制这种情况发生的?我的服务器在节点 js 套接字 io 上。
-
嘿@Faizan 正如下面的答案所指出的,解决方案是引入一个类似于任何传统 API 服务的验证系统。例如,节点服务器可以使用用户名/密码验证新连接,然后使用唯一生成的令牌进行回复。从那里开始,客户端可以将该令牌作为“身份证明”发送,并且节点服务器将在执行任何后续操作之前验证该令牌。现在请记住,我提供了一个非常高级且简化的解决方案,只是为了帮助您了解这个想法。每种方法各有利弊。
标签: javascript node.js laravel socket.io