一旦会員登録完了メールを送る~という箇所を作ってみた。
だけどローカルでは送れない??
$to = ユーザーの入力したメールアドレス
$subject = ‘メールのタイトル。’;
$message = “$username 様\n\n ユーザー登録ありがとうございます。”;
//完了メール送信
$mailfrom=”From:” .mb_encode_mimeheader(“事務局”) .”
mb_language(“Ja”) ;
mb_internal_encoding(“UTF-8”);
mb_send_mail($to, $subject, $message, $mailfrom);
これは本番アップ待ちとします。
そして、登録するとメールが送られてきてその中のURLをクリックしたら本登録となるやつ。
空メールとか認証メールとか言われていますね。
いきなり上記の会員登録完了にするんではなくて、
メール内のURLを押してもらったほうがよいか悩み中。
その場合作り方流れはざっと調べたところ以下のとおりと思ってます~
DBユーザーテーブルに仮フラグ追加 仮→0 本登録→1
↓
登録完了メールではなくて本登録のお願いメールにする。
その内容にGETパラメタ付きURLを掲載
(GETの内容はユーザー毎に自動生成されたもの)
↓
GETを受け取ったら、DBのフラグを0→1にする
(念のためタイムスタンプで発行から24時間以内のアクセスのみ有効にする)
ところで本登録と仮登録のサービスの違いがないと
これの意味が無いですよね?
ずっと仮登録状態で全サービス受け取れるのならば認証クリックする理由がない。
ということは仮登録状態をなくして、
認証URLクリックしないと登録完了されないようにすればよいのか。
サービス上、メールがそんなに重要でない場合の、
そもそも認証メールの必要性が分からない。。
ユーザーのメールアドレスが2つの入力ともに間違う
(または故意にダミーのアドレスが入力される)
というのを防ぐという目的??
そしてでは不正アドレスを防ぐ理由は・・・
・広告/告知メールが送れない
・パスワードリマインダが送れない
あと何があるんだろう?
ということで採用検討中。
■2011/11/13追記
メールアドレス間違いができないような仕組みが欲しい
上記ページのとおりユーザーメリットになることもある。。
けどメールアドレスが簡単に修正できればOK?
■2013/04/10追記
★なりすましの防止!
これが一番大事なことか。
ユーザーが例えば他人のメアドを勝手に使うということが防げるようになる。
(参考)
WEBサービスのユーザー登録フローについて。
—–
コメント