httpsページからのみアクセスできるWebsocketベースのアプリケーションをホストしようとしています。そのため、サーバーは内部にランダムなキーを含む https ページを生成します。このキーを使用して、外部からの誰かが websocket に間接的にアクセスするのを防ぎたいと考えています。
各 Web ソケット クライアントにキーを Websocket サーバーに送信させ、キーが一致しない場合は接続を閉じることができます。ただし、キーを渡すように websockets 自体を更新し、キーが一致しない場合は自動的に接続を拒否することをお勧めします。(これにより、新しいアプリが導入された場合に、チェックの実装を忘れる可能性がなくなります)。
私は周りを見回しましたが、websocket の仕組みに関する詳細なドキュメントはあまり見つかりません。
wss 接続の最初のハンドシェイクは平文で送信されますか (これらのパケットにキーを添付した場合、中間者がパケットを傍受できますか?)。そうでない場合、接続でこの種のメタデータを送信する標準的な方法はありますか、それとも websocket ソースファイルをハックするだけですか?
サーバー側で libwebsockets を使用し、クライアント側で jquery.websockets を使用しています。