質問:
現在、多くの大規模な Web サイトでは、悪意のある更新を防ぐために、ホームページにユーザーのログイン情報が表示されますが、これにより、大量のセッションが生成され、サーバーのメモリが占有されます。
解決策:
1. アカウントのパスワードを入力すると、認証コードの入力を求められます。この実装は簡単ですが、やり方がわかりません
2. 大量のセッションの生成を克服するために、この解決策は比較的複雑です。これは研究目的のみであり、実際のアプリケーションには上記の解決策をお勧めします。
ステップ 1: 訪問ごとに一意の検証 ID (GUID を使用可能) と検証コードを生成し、3DES を使用してクライアントに保存します
ステップ 2: サーバーは、ユーザーが入力した確認コードと 3DES の確認コードを比較し、等しい場合は続行します
。
ステップ 3: 固有の検証 ID が最近使用されているかどうかを確認します (memcached は使用できます)。使用されていない場合は、続行します
ステップ 4: この一意の検証 ID を最近使用したリストに保存します
完了
注: このソリューションでは、暗号化によって多くのセッション維持が回避されますが、追加の暗号化オーバーヘッドが発生します。同じ検証コードが再利用されないようにするには、最近使用したリストを使用します。「最近」の時間範囲は、実際の状況に基づいて決定できます。