私は次の正規表現を持っています: ^[a-zA-Z](.*)[a-zA-Z]$
JavascriptとPHP側の両方で、連絡先フォームの人の名前とメッセージフィールドを検証するために使用しています(データベースとのやり取りはありません)。基本的に、フィールドの最初と最後の文字がアルファベットであることを保証し、その間に他の文字を許可します。
私の懸念は次のとおりです。
- この種の機能について、人の名前やメッセージを検証しようとするのは面倒ですか? 私が検証または保護しているのは、悪意のある入力だけです。
- フィールドが空でないことを確認するだけで、自分のサイトを開いたままにしておくと、どのような種類の攻撃にさらされる可能性があるかわかりません。
これらは正当な懸念ですか?すべてのタイプの名前とメッセージのシナリオにケータリングを開始すると、非常に長い式になってしまい、維持するのが難しくなります...それは本当に価値があるのでしょうか、それとも最低限の正規表現はありますか?悪意のある攻撃/スクリプトから保護するためにこれら 2 つのフィールドに使用する必要があるのはどれですか?
(追伸 - 同僚の 1 人から、「!」で始まる名前について思い出させられました)
ありがとうございました!!