1

Web アプリケーションの「セッション ID」について教えてください。

次のうちどれが一番いいと思いますか?

  1. 以下を含むセッション ID: { data: { user_id: ???, auth_user_agent: ???, auth_ip, ???, expires: unix_time }, signature: { "data's signature" } }暗号化してから base64ed => ユーザーに送信
  2. キャッシュ内のデータを参照するランダム セッション ID
  3. データベース内のデータを参照するランダム セッション ID

ここでパフォーマンスとセキュリティを見ています。

肝心なのは、どちらが優れているか(署名の復号化と検証)、キャッシュからの取得、データベース接続の実行、データの取得などです。

4

1 に答える 1

1

memcached のような高速な非リレーショナル キャッシュからランダムな値を使用してデータを取得する方法は、ブラウザーが行うすべての HTTP リクエストでこの情報を送信するよりもはるかに高速であり、消費するリソースも少なくて済みます。ブラウザは、CSS や画像などの静的接続など、不要なファイルにこのセッション状態を送信することになります。セッション管理に対するこのアプローチは、サーバーへのすべてのクライアント要求に不要なオーバーヘッドを追加します。

暗号化されていても完璧なものはないため、安全性は低くなります。暗号の専門家でない限り、暗号化の使用は絶対に避けてください

于 2013-01-19T18:08:23.807 に答える