web-dev-qa-db-ja.com

パスワードを評価する最良の方法

ユーザーアカウントのあるWebページを作成しています。ユーザーのパスワードratingの最適な方法を入力したいのですが。

私が遭遇したパスワードを評価するには4つの方法があります。

  1. 入力したパスワードを評価して、テキストが変更されるたびに常に更新する
  2. ユーザーがテキストボックスからフォーカスを移動した後にパスワードを評価します
  3. 送信ボタンをクリックした後にパスワードを評価します(ただし、エラーがない限りフィードバックは不可能です
  4. ユーザーが評価の更新またはパスワードの受け入れが可能かどうかの確認のみを目的とするボタンをクリックした後、パスワードを評価します(ただし、追加のクリックです

希望するパスワードの最初の数文字を入力しているときに、テキストボックスの右側に赤いエラーが表示されるのを煩わしく思っています。しかし、私が以前に移動したフィールドを変更するために戻ることも、迷惑です。

3
ChrisM

即時検証 が人気がある理由は、エラー、フラストレーション、タスク時間を最小限に抑えるためです。 A List ApartのLuke Wroblewskiも、インライン検証について優れた分析と ユーザビリティスタディ を実行しました。彼らは検証の「タイピング」スタイルを「while」メソッドと呼び、「while」メソッドが長いオープンエンドフォームで使用されたときにユーザーが不満を感じたが、time-を見つけた遅延バリアントは、ユーザー名とパスワードのフィールドに役立ちました。これは、あなたが話すインスタントエラーメッセージを回避するために、入力を停止した後、検証メッセージが少し表示されることを意味しました。

ユーザー名とパスワードの質問には、テストした各バージョンで少し遅れて「while」方式を使用しました。初期のプロトタイピング作業により、この方法は、現在利用可能なユーザー名のセットや安全なパスワードに必要なフォーマットなど、厳しい境界を持つ質問に最も適していることが明らかになりました。

通常、ユーザーはフィールドをクリックして検証するまで待機しますが、パスワードは文字どおりに検証されることが多いため特別です。パスワード強度テストの最も一般的な要件の1つは「文字を追加する」ことです。 。フィールドに集中できなくなるのは大変です。また、他のフィールドとは異なり、パスワードは非表示になっているため、編集する必要がある場合は、メールアドレス内をクリックして「johngmail.com」を「[email protected]」に修正するのではなく、フィールド全体をクリアする必要があります。 」.

バンクオブアメリカには良い例があります パスワードの評価方法(パスワードの制限に同意しないことに注意してください): enter image description here

現場にいる間、検証ポップアップが表示され、パスワードに問題がないこと、および各条件を満たしたことがすぐにわかります。余分なクリックを一切行わずに試行錯誤!

3
Ben Brocka

フィードバックをすぐに確認できてうれしいですが、誤った失敗はありません。

必須のフォームフィールドの一般的なパターンの1つは、小さい星または「(必須)」で必須であることを示す可能性がありますが、検証時間まで実際には赤い強調表示/大きな「必須」メッセージで強調表示されません。コントロール。そのため、フィールドを入力せずにタブで移動した場合にのみ、検証エラーメッセージが表示されます。

パスワードフィールドでも同じことができます。検証に合格するのに十分なパスワードになるまで何も表示せず、次に「OK」または「強度:良い/強い/何でも」を表示します。それで十分であれば、検証はキーを押すたびに行われるため、たとえばバックスペースを使用すると、検証エラーが表示される場合があります。ユーザーが入力せずにフィールドをタブで移動すると、失敗の検証も表示されます。

0
gregmac

パスワードのフィールドは通常ペアであるという事実(パスワード+繰り返し)を利用できると思います。リピートに移動するときには、すでに警告を表示できます。したがって、ユーザーにパスワードを入力させるなどの操作を実行できます。弱い場合は、キーボード入力に応答して「このパスワードは本当に弱い-続行しますか?」と表示するツールチップを表示し、ユーザーがOk.

0
Assaf Lavie

質問に直接答えるには、#1が最適なオプションです。理論的には重要なレベルである素晴らしいパスワードレベルに達したことをユーザーに知らせるためです。まだエラーではない場合、問題を解決するために赤く点滅しないでください(フィールドを離れ、修正しない場合は送信しないでください)。弱いテキストを色で表示しないでください。ヘルプテキストのように灰色のままにするか、またはヘルプテキストとして提示すると、特殊文字(Tell Me More)を含める方が安全です。エラーで罰せずに、魔法のような強力なパスワードしきい値を通過したら、色で報酬を与えます。

次に、フィールドを離れた後、弱いテキストを赤に変えて、パスワードとして「神」を使用するという私の行動を本当に変更する必要があることを強調します。クリックしたら灰色に戻すか、エラーが修正されるまで待ちます。

私自身の質問でこれをすべてフォローアップします。ユーザーのパスワードを評価するのはなぜですか?私がP @ ssword1を使用する場合、それは恐ろしいパスワードですが、ほとんどの評価者はそれが強力なパスワードであると言うでしょう。これらの項目はどれもセキュリティを向上させず、場合によっては、パスワードを複雑にしてしまうと、書き留めてしまうことになります。

現在のマルウェアなどでは、ブラウザ自体が感染していてすべてにキーログを記録したり、ブラウザをリモートで操作したりできる場合、パスワードの複雑さはそれほど大きな抑止力にはなりません。銀行へのログインを開始したときにハッカーにメッセージを送信するだけであれば、標的型攻撃である必要はありません。 (ゼウス、スパイアイ)

ユーザーの行動を改善したい場合は、よく使用される上位20のパスワードとそのバリエーションを特殊文字を使用して確認し、盲目的にThis!smypasswordは安全なパスワードであると断定するのではなく、十分にログに記録されるため、大文字と小文字および特殊文字。

問題についての私の考えだけ。

0
Chris Janssen