2017-04-06 5 views
1

私は数日前にnode.jsとsocket.ioで作業を始めました。セキュリティに関する質問があります。誰でも私のノードjsサーバーとsocket.ioを接続できますか?

Let'sは、私は(SSLなし)公開サーバを持っていると言うと、私はまた、クライアント側を作成した3000

例えば、ポートでリッスンするのNode.jsサーバー側のアプリケーションが実行 - デスクトップアプリケーションこれはサーバーに接続されています。

私の質問は次のとおりです。サーバー側のアプリケーションを実行しているIPとポートを知っている人は誰でも、プログラムされたクライアントに接続できますか?

+1

次回は[security.se]を検討してください。 –

答えて

1

要するに、サーバーが公開されており、クライアントが指定されたポートを開いている場合は、はいです。彼らは実際のコミュニケーションを処理するためにあなたのイベントインターフェイスを知る必要があります。また、これは、誰かが接続できないようにする認証ミドルウェアがないことを前提としています。

+0

それは役立ちます。ありがとう。認証を実行する簡単な方法はありますか?私の考えは、クライアント側とサーバー側でいくつかのユニークな文字列を作成することです。次に接続イベントでその文字列を比較し、それらが等しい場合はクライアントを接続させ、otherviseはしません。しかし、接続イベントに関するデータを受け取ることについてあまり気にしていません。 :/ – Dexit

+0

ソケットミドルウェアを使用する必要があります。これは、connect(express)ミドルウェアの動作と非常によく似ています。あなたはそれについてもっと読むことができます[socket.io docs](https://socket.io/docs/server-api/#socket-use-fn)。あなたはミドルウェアのコールバックとして認証機能を置くだけです。 – peteb

関連する問題