実現したいこと
Ruby on Railsで以下のような標準的なアカウント有効化処理を実装する。
- 新規登録画面でメールアドレスを入力
- メールアドレスとトークンをパラメーターにもつリンクを作成
- リンク付きのメールを送信
- パラメーター内のメールアドレスとトークンでユーザーを照合
- アカウントを有効化する
##問題点
hogehoge+test@gmail.com
のような、「+」が含まれたメールアドレスを入力すると、4のユーザーの照合で失敗する。
##調べてわかったこと
+
の部分が
(半角スペース)に変換されてしまい、メールアドレスをからユーザーを取得するところで失敗していた。
##暫定的な対応
params[:email].gsub(' ', '+')
といった処理を書いて、メールアドレス内の半角スペースを+
に変換するようにした。
##質問
他の記号でも同様の問題が発生しそうで、怖いです。
もっと良い対応方法があればお伺いしたいです。
回答をいただけると嬉しいです。
どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー