CakePHP3の「email」バリデーションを過信してはいけない話

thumbnail_20220224.png

こんにちは、マイロプスでエンジニアをしているFukushimaです。私は業務でCakePHP3を使っているのですが、その際に起きたことを共有したいと思い今回のブログを書きます。
タイトルの通りemailバリデーションを過信してはいけないということです。

ユーザーにメールアドレスを正しく入力してもらうにはこのバリデーションは必須です。メールアドレスを送る際に形式が崩れているメールを送ろうとするとエラーの原因になってしまいます。崩れる原因としては気付かない間にスペースを入れている可能性があります。そのような事を想定してvalidatorに下記のような

を入れていました。
これを入れておけば厄介なスペースが入っていても弾いてくれるので非常に便利です。

これでスペースの問題は解決したので問題ないと思ったのですが、一つ問題が出てきました。このemailバリデーションは全角文字が混入した場合は検知してくれません。
その為、「〇〇〇〇あ@▲▲.jp」のようなメールを正常と判断して通してしまいます。
このようなケースはあまりないと思いますが通してしまうのはマズいので修正をします。

上記のように正規表現で半角英数字と一部の記号だけが入力できるようにしました。
これにより全角文字の検知するバリデーションになります。
もし、emailバリデーションを入れている人がいたら全角文字防止のロジックは入れておいた方が良いです。
以上、最後まで読んでいただきありがとうございました。

マイロプスでは一緒に働いてくるエンジニア、デザイナーを募集中です!

人と人、人とコト、人とチャンスを繋げられる自社プロダクトの開発等を一緒にやってみませんか?

  • ITとデザインのチカラで、なにか面白いことができないかと思っている人
  • デザインを制作だけでなく人と人、モノ、コトとの関係性の設計と捉え、 社会を動かす重要な概念だと思っている人。

やりたいことがあればどんどん発言できる会社なので私個人的にはITに興味があって好奇心旺盛な人ならきっと飽きない会社だと思います。

興味がある方は求人ページをご覧ください。

Fukushima

エンジニア

SESを2年経験し、マイロプスに入社。
週末は趣味のバスケットボールをしている。

関連記事

お仕事のご相談、採用についてなど、お気軽にお問い合わせください。