web-dev-qa-db-ja.com

登録フォームでユーザーエラーが発生したときに、Webサイトでパスワードの再入力が必要なのはなぜですか?

多くの場合、登録フォームに入力して必須フィールドを入力しないと、再入力が必要なパスワードを除くすべてのフィールドが入力された状態でフォームがリロードされます。

私は同じことをすべきかどうか疑問に思っています。ユーザーとしてパスワードを再入力する必要があることに非常に悩まされているので、私は本当に好きではありません。

セキュリティ対策ですか?何から保護しますか?

編集:ユーザーにパスワードを思い出させるのは重要ですが、質問には答えません。とにかく、ほとんどのフォームには2つのパスワードフィールドがあり、ユーザーにパスワードを2回ではなく4回または6回入力させる理由はありません。

5
Ilya Kogan

これは非常に多くのレベルでのセキュリティ対策です!!!

I。 2回入力すると、正しく入力したことを確認できます。

一度だけ入力し、タイプミスをして気付かなかった場合はどうなりますか?このサイトには、同じ人/メールに対して複数のアカウントを防ぐToSがある場合があります!あなたは二度とそのアカウント/ウェブサイトにログインできないかもしれません!

II。パスワードは決して平文で保存したり、エンコード/暗号化してはいけませんが、一方向ハッシュで保存してください! [参照。 CWE-257]

  1. サーバーに関して:エラーページを取得するまでにパスワードは処理されていないか、既にハッシュされているか、または取得可能な形式で保存されるべきではないため、サーバーは入力した内容を「戻す」ことはできませんバック'。
  2. クライアントに関して:パスワードを取得可能な形式で保存することは、良い方法ではありません(js/cookie/etc)

最終的な考慮事項:パスワードを知っておく必要がありますあなただけに!そして、それはあなたの頭の中だけに「true」の形で存在するはずです!

2
CSᵠ

簡単に言えば、これはより良いセキュリティのためです。入力済みのフォームにデータを保存するために、スクリプトによってセッション変数に保存されるか、参照リンクに追加されます。この方法でパスワードデータを保存する必要はありません。多くの場合、データは簡単に傍受またはスプーフィングされる可能性があるため、これを行わないことをお勧めします。

これを行うことは可能ですか、はい...しかし、すべきではありません。さらに、ほとんどのブラウザ(フォームデータを保存するように構成されている場合)は、通常の入力フィールドを記憶し、そのデータをブラウジングセッション全体で保存しますが、デフォルトではパスワードタイプの入力フィールドを無視します。

追加の利点として、入力したパスワードを1回または2回以上行う必要があるため、ユーザーが入力したパスワードを覚えやすくなります。迷惑かもしれませんが、より良い方法がより広く受け入れられ、アクセス可能になるまで、これは通常、どのように行われるかです。

0
psiclone