質問: 会員登録システム 仮登録のメールについて phpで会員登録システム(投稿サイト)を構築しようと思っています。 2つ質問があります。 会員登録する際に、よく仮登録と称して、 一度、登録したメールアドレスにメールを送信し、 そこに記載されているurlをクリックしたら本登録となる 仕組みがありますが、これは何のためなのでしょうか。 もう一点は、上記の仕組みを教えていただきたいです。 例:(例です。適当に書いてます) 会員登録フォームで登録(仮登録だがデータベースには保存) ↓ 乱数をセッションに保存し(24時間)、 それを引数(?hoge=hogehoge)としたurlを登録してもらったメールアドレスに送信。 ↓ 引数とセッションの値が一致すれば、 ok。ちがければ、無視。24時間以上たてばデータベースから破棄。 (24時間たったら破棄の仕方は今のとこわかりませんが・・・) というような形で、 考え方を簡単に教えていただけると幸いです。 以上、よろしくお願いいたします!
回答: > なるほど!空メールならとりあえずは他人の端末を利用しない限りは、 > 迷惑なことにはならないわけですね! 実は そうとも言えないのですが、そこは言及したくなかったので、前回も置き去りにしました。 普通の人が、普通の使ってる分には、そちらの言うとおりです。 > 空メールを送信してきた相手に返すurlには、 > その人のメールアドレスを引数とかにして、 > urlをユニークにすればいいんでしょうか!? 一般的かどうかは分かりませんが、俺なら 以下のようにします。 空メールが来たら、メールサーバーからphpにパイプして、 phpで ユニークなidを発行して、それを発行した時間と、 空メールの送信元のメールアドレスとをdbに書き込みます。 んで、そのメールアドレスに url を付けて返信します。 urlは ttp://hoge.jp/hoge.php?uid=wrg5eae6rbf245sfwyrwrg5eae6rbf245sfwyr みたいな感じです。 ユニークなidは uniqid() 使うとか、自分でランダムに生成するとかして、 http://php.net/manual/ja/function.uniqid.php dbに重複がないかを確認する程度です。