2017-04-06 33 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

相關問題