0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

英字と数字を含めたパスワードを要求するバリデーション

Posted at

英字と数字を含めたパスワードを要求するバリデーション

Ruby on Railsでのパスワード設定時に利用される validatesメソッドには、パスワードのセキュリティを高めるためのバリデーションを設定する機能があります。特に、:password属性のバリデーションにおいて format オプションと正規表現の活用が重要です。下記のコードについて解説します。

validates :password, format: { with: /\A(?=.*?[a-z])(?=.*?\d)[a-z\d]+\z/i }

このコードは、:password属性が特定の要件を満たしているかどうかを検証します。正規表現 /^A(?=.*?[a-z])(?=.*?\d)[a-z\d]+\z/i が行うことを要約します。

  • \A: 文字列の先頭を表す記号。
  • (?=.*?[a-z]): 少なくとも1つの小文字のアルファベットが含まれていることを要件とします。
  • (?=.*?\d): 少なくとも1つの数字が含まれていることを要件とします。
  • [a-z\d]+: アルファベット(小文字)と数字の組み合わせを検証します。
  • \z: 文字列の終端を示す記号。
  • i: 大文字小文字を区別しない、ケースインセンシティブな検証を実行します。

この検証により、パスワードが少なくとも1つの小文字のアルファベットと1つの数字を含んでいるかどうかが確認されます。この強力なパスワードポリシーは、セキュリティを向上させるために設定されています。

この手法は、ユーザーにセキュアなパスワードを設定するよう促し、アプリケーション全体のセキュリティを確保する重要な手段です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?