「パスワードを記憶する」という小さなチェックボックスが付いた多数のログインフォームがあり、次回ウェブサイトにアクセスしたときに、ブラウザがパスワードフィールドに自動的に入力します。
しかし、Chrome/Firefoxなどの最新のブラウザーでは、特定のWebページに「パスワードを保存する」チェックボックスがなくてもユーザー名/パスワードを保存する通知バーが表示される動作に気付きました。
私の質問は次のとおりです。
「パスワードの保存」の部分は、<input type="password">
本当にパスワードを要求しているように見えます。 autocomplete属性を使用して、ほとんどのブラウザーでこれを抑制することができます。
<input type="password" name="password" autocomplete="off">
これは検証されませんが、通常は問題ではありません。
「私を記憶する」部分は、ブラウザのパスワードマネージャーから完全に分離されています。 「remember me」フラグはサーバーのビジネスであり、送信するCookieの有効期限をいじるだけです。サーバーは常に、Cookieを送信します(セッションを追跡するためにCookieを使用していない場合を除きますが、それはまれであり、とにかく "記憶"する必要はありません)。
「remember me」にチェックマークを付けると、持続セッションが必要であることをサーバーに伝えています。これを実現するために、サーバーにはCookieに有効期限が含まれ、その有効期限は将来のいずれかの時点になります。日付が来ると、ブラウザは期限切れになり、Cookieを削除します。 Cookieがないと、サーバーはあなたが誰であるかを知ることができず、再度ログインする必要があります。
「記憶」をチェックしない場合、セッションCookieが取得されます。セッションCookieには有効期限がないため、ブラウザーが終了すると自動的に有効期限が切れます。セッションCookieは共有マシンに役立ちます。
エグゼクティブサマリー:
あまりにも長く巻き込まれて申し訳ありませんが、他の答えには混乱と明確性の欠如があるようです。
質問1:
セッションIDはCookieに保存されます。知る限り、パスワード、またはそのハッシュは保存されません。ログインすると、サーバー側でセッションが作成されます。「Remember Me」にチェックマークを付けてログインした場合、サーバーはセッションID(または暗号化されたセッションID、またはユーザーセッションを一意に識別するもの)とクッキーはクライアント側に保存されます。
次回ログインするとき、サーバーはセッションにCookieが存在するかどうかを確認し、存在する場合(およびセッションが強制終了/期限切れになっていない-以下のポイント2を参照)、サーバーはユーザーを識別します「Veera」として、サイトに移動できます。
多くのWebサイトでは、「すべてのセッションをログアウトする」オプションが提供されています(Gmailなど:ウィンドウの下部を参照)。これにより、ユーザーに関連付けられているすべてのセッションが無効になります。
質問2:
パスワードの保存は、ブラウザが提供する機能です。ブラウザは、<input type=password>
ページに表示され、このパスワードを保存するように求められます。どれか <input type=password>
はこれをトリガーします。
あなたを記憶しているサーバーとパスワードを記憶しているブラウザの違いは、パスワードが保存されているかどうかです。また、「すべてのセッションをログアウトする」オプションと組み合わせると、ブラウザにパスワードを保存させるよりもはるかに優れています。
ユーザーが誰であるかを知る方法が必要です。通常、これは、ユーザーのブラウザーにCookieを保存することによって行われます。簡単にスプーフィングされないもののみを使用する必要があるため、暗号化を使用する必要があります。 couldローカルストレージを使用します。ただし、サイトで使用されるすべてのブラウザーがサポートしていると確信している場合に限ります。
いいえ、ありません。通常、パスワードフィールドを持つことがバーをトリガーします。