AJAXを使用しない多くのWebサイトでは、登録フォームは通常、失敗した試行時にすべての入力データを入力し続けますが、多くの場合、ユーザーはパスワードフィールドを再入力する必要があります。
私の質問は、なぜWeb開発者がこれを選択するのかということです。私の最初のアイデアは、悪意のあるスクリプトがページの読み込み時にパスワードを盗むのを防ごうとしているというものでしたが、。を使用してこれを簡単に行うことができますonKeyUp
。
何かご意見は?
フィールドを自動入力するため、マークアップを見ると、<input type="password" value="YOURPASSWORDHERE" />
セキュリティにとってそれほど優れていないようなものが表示されます。マークアップの取得は、JSでDOMを操作するよりも簡単にページをリクエストできるため、XSSの観点からJSイベントを監視するよりも簡単です。
ブラウザにはパスワード専用の機能があり、ユーザーがブラウザに明示的に許可した場合にのみ保存されます。ほとんどのブラウザは、「パスワードを保存しますか?」と尋ねます。
さらに、ユーザーが自分のマシンを使用していないときに保存されたパスワードを保護するために、マスターパスワードを保持することができます。
IMO、パスワードを保存するのは間違いではありません。ブラウザにパスワードを保存させるため、通常は覚えにくい自動生成されたパスワードを使用する傾向があるため、通常ははるかに強力なパスワードを使用する傾向があります。また、複数のWebサイトに単一のパスワードのバリエーションを使用しないようにするのにも役立ちます。
パスワードを保存するかどうかに関係なく、パスワードを盗聴できるさまざまな方法があります。通常、サイトにはパスワード復元機能があり、パスワード違反が発生した場合に、たとえば私の携帯電話にリンクします。
したがって、ウェブサイトは ユーザーがブラウザにパスワードを保存できるようにする必要があり、これはユーザーに責任を負わせ、ユーザーがパスワードをどのように使用するかは彼/彼女の決定です。
これはスクリプトに関するものではありません。Webサイトは、そのコンテキストで実行されているスクリプトを信頼する必要があります。
ブラウザは多くの場合、ページのマークアップをキャッシュします。パスワードをキャッシュに入れたくない場合があります。