PHPを使って「パスワードを正規表現で検証すること」に取り組んでいるのですが、よく「この記号しか使えません」という制限を見かけます。 質問ですが、「どの記号を許容すべき」なのでしょうか?

PHP51閲覧xmlns="http://www.w3.org/2000/svg">50

ベストアンサー

1

1人がナイス!しています

ご回答ありがとうございます。 > それは、セキュリティ意識の低い所でしょう。 Xサーバーがそうなんです。使いにくくて、ほんと信じられませんよね… >検証すべきは、必要以上の文字数があるかどうかなので、正規表現の出番は無いです。 なるほど。あ、でも日本語がPOSTされるかもしれませんから、「半角英数と全ての記号」という正規表現が必要ではないでしょうか? > どこかに書いておく時点で、現代のパスワード管理とは相容れない これも確かにそうかもしれませんね。まぁshimixさんも "強いて挙げれば” 程度で仰っていますしね。お二人のアドバイスに従って、記号は全て許可にしようと思います。

その他の回答(2件)

1

システム都合、許容したくない記号があったりするのは開発者またはクライアントのエゴでしょうね。 Googleアカウントパスワードではなんと半角スペースも使えるのですよ。 (開始終了はNG) ちなみにパスワードでなくIDに記号プラス日本語を必須として許容すれば海外からの逆ブルートフォースアタックの抑止に繋がります。

1人がナイス!しています

みなさんそう仰いますしやはり記号での制限は良くないみたいですね。たまに見るので正当な理由がある制限なのかと思い気になっていたところでした。 日本語必須面白いですね。 ありがとうございました。参考にさせていただきます。

1

>どういう記号が良くて、またダメなのでしょうか? そもそも生のパスワードを格納するわけでもありませんから、どの記号がダメという明確な理由はないと思います。 打ち間違いで入力されやすい文字は避けるくらいでしょう(@とかはそっちの理由かもしれませんね)。

1人がナイス!しています

ご回答ありがとうございます。 >どの記号がダメという明確な理由はない なるほど。制限されているケースをみかけるので、「これは制限すべきだよね」などの慣習や理由があるものだと勘違いしていました。 >打ち間違いで入力されやすい文字は避ける たしかにこのメリットはありそうですね。ありがとうございます。参考になりました。