0

私は現在、node.jsとsocket.ioをPHPフレームワークと統合することに取り組んでいます。

ユーザーが私のサイトにログインしたら、彼/彼女のセッションをデータベースに保存し、ユーザーIDを割り当てます。

node.jsへのリクエストが有効かどうかを検証できる唯一の方法は、** cookie(セッションID)とユーザーIDをnode.jsに送信し、セッションIDが有効でユーザーIDが属しているかどうかをデータベースで確認することです。このセッションIDに。これは、node.jsmysqlモジュールで発生します。

これが唯一の方法ですか?それは「安全」ですか?

4

1 に答える 1

2

Node.jsサーバーとsockets.ioで何をしているかに応じて、サーバーにログインしているユーザーの配列を維持できます。

ユーザーがPHPを検証するときに、クライアントコードからソケットサーバーにセッションIDを使用してソケットイベントを送信し、そのセッションIDをNode.jsサーバー上のユーザーの関連付けられた配列に格納します。これにより、関連付けを行うことができます。クライアントとサーバー間の通信を維持するために使用するソケットへのユーザーセッションID。

今後は、クライアントコードを介してセッションIDを渡し、連想配列に含まれているかどうかを確認するだけで、Node.jsサーバーとの通信を確認できます。

もちろん、socket.ioから切断イベントが発生した場合は、アレイ上の関連するエントリを削除します。

于 2012-10-05T10:41:09.823 に答える