2012-04-02 5 views
0

私はルーティングを理解していますが、ユーザBのクライアント側のソースを見て、各ユーザに固有のsocket.io URLを見つけて、独自のスクリプトを作成してブロードキャストメッセージを聞き始めるのを止めるのはどうでしょうか?特定のチャネル?NodeJSでブロードキャストメッセージへのアクセスを制限するにはどうすればよいですか?

+0

ユーザーBのクライアント側ソースをどのように見ていますか?そのマシンに物理的にアクセスする必要がないか、SSL解読後のWeb要求を表示できる場所にマシンを侵害していませんか?その時点で、ユーザーは効果的に縛られており、実際にサーバー側から保護する方法はありません。 Janiが述べたクッキーでさえ、ユーザーAがそれらのクッキーにもアクセスできるため、ごく些細な不便です。質問に何か誤解しましたか? –

+0

いいえ、あなたは正しいです。私はsocket.ioの通信の安全性に固有の何かを見逃していないことを確かめたいと思っていました。 – EvilJordan

答えて

0

クライアントを特定するには、何かを使用する必要があります。一度これを行うと、たとえば部屋の機能を使用して、許可されたすべてのユーザーを置く特定の部屋にのみブロードキャストすることができます。

クライアントを特定するには、ブラウザからcookieをsocket.ioリクエストで渡し、Express/Connect/Whateverに保存したセッションデータと比較します。

+0

これは、実際には、似たような情報を探している人にとって、一般的なプロセスに関する素晴らしい記事です。https://github.com/LearnBoost/socket.io/wiki/Authorizing – EvilJordan

+0

@EvilJordan私はそれがやりにくくなると思います。セッション記憶域は既にこの目的のために(クライアントが誰であるかを識別するために)どのくらいのセッションデータを利用できるかを知るためにすでに使用されているクッキーをクライアントに置きます。 –

+0

これは、従来の外部ユーザーの認証のように見えるし、名前空間が行く方法です。私はもうすぐオープンする別の質問に私を導く! – EvilJordan

関連する問題