ユーザーがサイトにログインし、「私を覚えている」と言うと、ユーザーの一意の識別子を取得し、キーサイズ 256 の RijndaelManaged でこれを暗号化し、有効期限が設定された httponly Cookie にこれを配置します.. 120 日、サーバーへのリクエストが成功するたびに有効期限が更新されます。
オプションで、ユーザー エージェントと ipv4 アドレスの一部 (最後の 2 オクテット) に基づいて初期化ベクトルを生成します。
明らかに、これには実際の有効期限システムが組み込まれていないため、ユーザーは技術的にこの暗号化されたキーを永久に使用できます (サーバー側のキーを変更しない場合)。
この機能を許可するには、ユーザーがログインをバイパスして一意の ID (GUID) を提供できるようにする必要があるという事実を考慮しましたが、GUID だけでは実際のユーザーの GUID を推測するのは非常に難しいと考えました。しかし、GUIDを生成するボットノットによる攻撃に対してサイトを開いたままにしておきます(合法的なGUIDを見つけることがどれほど現実的かわかりません)..これが、サーバーが暗号化キーを知っている場所に暗号化があり、オプションでivブラウザと ip 部分に固有です。
サーバーがユーザーに関連付けられたチケットを発行し、これらのチケットの有効期限が既知であるため、サーバーが有効期限を管理し続ける別のアプローチを検討する必要がありますか? 有効期限を本当に気にする必要がありますか?私を覚えているのは結局私を覚えているのですか?
謙虚になるのを楽しみにしています;)、乾杯。