私が最近読んだブログ投稿 (Bole Online 注: この記事の最後を参照してください) は、より複雑なパスワードの使用を強制することについてです。原作者はセキュリティ強化のためと言っていますが、私はこれらの技術は最善の方法ではなく、「実用的」というより面倒だと思います。
より安全なパスワードを実装したいということですね、わかりました。でも
あなたのくだらないパスワード ルールの使用を私に強制するのはやめてください:(
この記事をそれほど深刻なものにしないでください。それが私がやろうとしていることです。私が自分の記事を書こうと思ったのは、その記事のおかげです。作成者に向けたものではありません。とにかく、私はこれらのパスワード ルールをサイトやサーバーで使用しているすべての人に言います。
このようなルールでは、パスワード Abcd1234 は有効性チェックに合格しますが、mu-icac-of-jaz-doad は通過しませんおそらく i%Mk3c4n のようなランダムな文字のパスワードを使用してもらいたいのはわかりますが、あなたのルールは実際にはそのように機能しません。これらのパスワードは迷惑であり、十分な長さがない限り安全ではありません。特にパスワード マネージャーをインストールしていない場合は、入力するのがさらに面倒になります。電話とコンピューターです。
第二に、安全でないパスワードを使用している人は依然として愚かなパスワードを使用しています (Loverboy1964 など)。だから、あなたは誰も助けていないのです
あなたの恣意的なルールの使用を私に強制したり、他の人がそうするように奨励したりするのはやめてください。私のパスワードは
例
ブロガーが使用を許可されている 2 つのパスワード:
以下は、ブロガーが使用を許可されていない 2 つのパスワードです :
解決策
私わかりませんが、このリストにあるパスワードよりも安全なものを本当に実装したい場合は、検証ルールに不必要に複雑なパターンを強制しないでください。ユーザーが引き続き使用する元のパスワードのほとんどは、大文字を追加するだけです。文字、または 2 つまたは 3 つの数字
代わりに、3 つのパスワードを許可しないようにして、最低限必要なパスワードの長さを増やしてみてはいかがでしょうか。数字以上の数字シーケンス /[0-9]{3,}/?
その後は先に進むことができます。少しずつステップを踏み、同じ文字を 1 つの行 (隣接する) で 2 回以上繰り返さないようにしてください。 )1{2,}/ をそれほど問題なく実行できます
これにより、ほとんどの混乱が解消されます。また、ユーザー パスワードの選択を不必要に制限しないでください。
UPDATE
さらに良いことに、これらのルールをすべて忘れて、パスワード強度の最小要件
reddit ユーザー sarciszewski からのアドバイス:
なぜこれほど多くの人が Zxcvbn を使用しないのか理解できません
https://github.com/dropbox/zxcvbn
Password Strength (xkcd)
『Recommendations for Enforcing Complex Passwords in Laravel』(英語原文)
'password' => [ 'required', 'confirmed', 'min:8', 'regex:/^(?=S*[a-z])(?=S*[A-Z])(?=S*[d])S*$/',];http://php.net/manual/en/function.preg-match.php のドキュメントと Laravel の正規表現ルールを使用してください。文書内で、これらの文字をチェックする式を設定でき、失敗した場合のカスタム メッセージも設定できます。
これらの小さな手順により、ユーザーがエラー メッセージを表示しながらより適切なパスワードを設定できるようになります。
著者について: LynnShaw