Backport(バックポート) #1878
完了管理画面 招待メール送信 を利用すると同じメールアドレスを重複登録できる
100%
説明
Overview (現象)¶
管理画面「招待メール送信」を利用すると、同一アドレスで複数登録できてしまう
再現手順¶
1.管理画面「招待メール送信」にて new-member@example.com を招待。
→招待状1到着
2.再度、管理画面「招待メール送信」にて new-member@example.com を招待
→招待状2到着
3.招待状1から会員登録
→member id 2にて登録完了
4.ログアウトせずに招待状2から会員登録画面を表示
5.登録完了
→member id 3にて登録完了
Causes (原因)¶
本来であれば pc_addres_pre に重複するメールアドレスが存在した場合、
メンバーを追加せずに pc_address_token を更新するべきですが、
現状ではメンバーを新規に追加してしまっている状態です。
mysql> SELECT * FROM member_config WHERE value = 'new-member@example.com'; +----+-----------+----------------+------------------------+----------------+----------------------------------+---------------------+---------------------+ | id | member_id | name | value | value_datetime | name_value_hash | created_at | updated_at | +----+-----------+----------------+------------------------+----------------+----------------------------------+---------------------+---------------------+ | 5 | 2 | pc_address_pre | new-member@example.com | NULL | c10d06478a66688156179ad60fd8316c | 2010-12-02 12:03:51 | 2010-12-02 12:03:51 | | 10 | 3 | pc_address_pre | new-member@example.com | NULL | c10d06478a66688156179ad60fd8316c | 2010-12-02 12:04:53 | 2010-12-02 12:04:53 | | 15 | 4 | pc_address_pre | new-member@example.com | NULL | c10d06478a66688156179ad60fd8316c | 2010-12-02 12:04:55 | 2010-12-02 12:04:55 | +----+-----------+----------------+------------------------+----------------+----------------------------------+---------------------+---------------------+ 3 rows in set (0.00 sec)
Way to fix (修正内容)¶
メールアドレス重複時には MemberTable::createPre() を呼ばないようにする。
修正時の注意点として、
すでに新規登録を行っているメールアドレスであった場合に、
member_config に「is_admin_invited」を挿入する必要があります。
Masato Nagasawa さんがほぼ14年前に更新
- ステータス を New(新規) から Accepted(着手) に変更
- 担当者 を Masato Nagasawa にセット
isao sano さんが13年以上前に更新
重複登録とは別の問題かもしれませんが、
携帯版での新規登録と招待メールの挙動がPC版と異なるため報告いたします。
以下は仕様でしょうか?
「ログインページのお知らせ」メールに関して¶
0.opAuthMailAddressPluginで招待モードを「招待なしでの登録を許可する」に設定する。
1.すでに登録されているユーザーでログイン画面アクセス
2.新規登録よりメールで登録に遷移。
3.アドレス登録のために空メールを送る
4.「ログインページのお知らせ」というメールが届く
このメールは何通でも受け取ることが出来る
招待メールを何通も送信できる¶
1.登録されていないユーザーの携帯アドレスに招待メールを送信する
2.携帯に招待メールが届く
3.再度手順1のユーザーに招待メールを送る
4.携帯に招待メールが届く
手順4のメールでは登録画面にアクセスできるが、手順2のメールに記載されているURLからはアクセスできない。
Naoya Tozuka さんが13年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
更新箇所確認しました。レビューOKです。
Mutsumi Imamura さんが13年以上前に更新
- ステータス を Pending Testing(テスト待ち) から Fixed(完了) に変更
- 進捗率 を 70 から 100 に変更
Yuya Watanabe さんが13年以上前に更新
修正前に送信されたメールのURLを用いると修正後でも重複登録可能である問題は #2340 に記載しました。
元情報:http://redmine.openpne.jp/issues/2293#note-4