1

私は現在、リアルタイム チャット機能を追加しようとしている時代遅れの CMS システムを持っています。CMS は、IIS、MSSQL、および PHP を使用して実行されます。

チャット機能は、Nodejs と Socket.io を実行する別の Linux ボックスから実行されます。

CMS がノード サーバーへの接続を正常に開くことができたので、ユーザーを認証する何らかの方法が必要になりました。

  • Node サーバーの背後にデータベースはありません
  • ノード サーバーは、ソケット経由以外で CMS にアクセスできません。
  • 新しい CMS ユーザーの可能性 (非常に定期的に発生) は、ユーザーのパスワードをノード サーバーにコピーするだけでは不十分であることを意味します。

現時点での私の唯一のアイデアは、ユーザー データ (ID、名前、電子メール アドレス) の配列をまとめて、このデータのハッシュを作成し、データとハッシュの両方を Node.js に送信することです。その後、ノード サーバーはデータのハッシュを試行し、CMS から送信されたハッシュに対して検証します。(明らかに、CMS とノードの両方に、ハッシュ用の事前定義されたプライベート ソルトがあります)

これを達成するためのより良い方法はありますか?!

4

1 に答える 1

0

良い経験則は次のとおりです:あなたが暗号学者でない限り、独自の暗号をロールしないでください

私の提案は次のとおりです。

  • 独自のサブドメイン(明らかに同じドメイン)で、HTTPS経由で両方のサーバーを実行します
  • セッション Cookie で *.domain.com Cookie ドメインを使用し、Secure フラグと HttpOnly フラグを使用して、両方のサブドメインがそれを認識できるようにします。
  • JSON の PHP セッションを、両方のサーバーがアクセスできる外部キー/値ストアに永続化します。
  • その後、ノード サーバーは、安全な Cookie の ID に従って有効なセッションを簡単に検索できます。
于 2013-01-29T14:55:21.063 に答える