質問: セキュリティの高い会員登録方法について 会員登録をどういう実装にしたら良いのか悩んでいます。 セキュリティの鉄則で、ログイン前にセッションidは発行しないというのを見かけました。 そこで2点質問です。 1.会員登録にセッションを使用しても大丈夫でしょうか? 2.会員登録は不正なメールアドレス入力を避ける為、 一度仮登録メールを送るべきでしょうか? 試行錯誤した結果、以下パターンのいずれかにしようと思いますが、pcサイトで一般的なパターンとしてどちらが望ましいでしょうか? ■パターン1 1.会員登録(フォーム情報はセッションに保存する) ○メリット:ブラウザの戻るを行っても入力状態が残っている 2.会員登録確認メール(キーとなる引数をセット) 3.メールのurlをクリックすると会員登録完了セッションを再生成?し会員状態となる。 ■パターン2 1.会員登録(フォーム情報はhiddenで持ちまわる) ×デメリット:ブラウザの戻るで入力状態が消える場合がある。 ○メリット:ログイン前にセッションidを再生成しなくて済む 2.会員登録確認メール(キーとなる引数をセット) 3.メールのurlをクリックすると会員登録完了セッションを生成し会員状態となる。
回答: がると申します。 セッションについては「ログインを伴わない一時的セッション」と「ログインを伴うセッション」を明確に区別しておけば問題はないかと。 ただ、phpのセッション関数は個人的には実装が非セキュアであると思っておりますが(なので私は別途、実装をしています)。 メールについては「一度仮登録メールを送る」ことで不正なメールアドレス入力はある程度避けられるかと思います。 ただ、そうすると次は「それを用いてメールボムその他」のアタックが考えられますので、そのあたりについては考察をしておいて損がないかと思います。