2017-04-06 47 views
1

几天前我开始使用node.js和socket.io,并且对安全性有疑问。任何人都可以连接tp我的节点js服务器与socket.io?

Let's说我有一个公共服务器(无SSL)和我跑那里的node.js服务器端应用程序,它侦听端口,例如3000

我还创建了一个客户端 - 桌面应用它连接到服务器。

而我的问题是:谁知道IP和端口在哪里我运行服务器端应用程序连接到它与自己的程序客户端?

+1

下次考虑[security.se]。 –

回答

1

总之,如果服务器公开可用并且客户端指定的端口打开,那么是的。他们需要知道你的事件接口来处理实际的通信。此外,这假定您没有身份验证中间件阻止任何人连接。

+0

这有帮助。谢谢。有没有简单的方法来执行身份验证?我的想法是在客户端和服务器端创建一些唯一的字符串。然后在连接事件比较字符串,如果他们相同让客户端连接,其他人不会。但我不太了解接收关于连接事件的数据。 :/ – Dexit

+0

您需要使用套接字中间件,它与连接(快速)中间件的工作方式非常类似。你可以在[socket.io文档](https://socket.io/docs/server-api/#socket-use-fn)中阅读更多内容。您只需将您的身份验证功能作为中间件回调。 – peteb

相关问题