Project

General

Profile

Backport(バックポート) #2293

管理画面 招待メール送信 を利用すると同じメールアドレスを重複登録できる

Added by Yuma Sakata about 11 years ago. Updated about 11 years ago.

Status:
Fixed(完了)
Priority:
High(高め)
Assignee:
Target version:
Start date:
2010-11-28
Due date:
% Done:

100%


Description

Overview (現象)

管理画面「招待メール送信」を利用すると、同一アドレスで複数登録できてしまう

再現手順

1.管理画面「招待メール送信」にて を招待。
→招待状1到着

2.再度、管理画面「招待メール送信」にて を招待
→招待状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」を挿入する必要があります。


Related issues

Related to OpenPNE 3 - Bug(バグ) #1816: 管理画面 招待メール送信 を利用すると同じメールアドレスを重複登録できる Fixed(完了) 2010-11-28
Related to OpenPNE 3 - Backport(バックポート) #1878: 管理画面 招待メール送信 を利用すると同じメールアドレスを重複登録できる Fixed(完了) 2010-11-28 2011-06-24

Associated revisions

Revision ff33ac0a (diff)
Added by Masato Nagasawa about 11 years ago

fixed duplicate email addresses when sending invitations in the pc_backend (fixes #2293, BP from #1816)

History

#1 Updated by Yuma Sakata about 11 years ago

  • Assignee deleted (Masato Nagasawa)

#2 Updated by Yuya Watanabe about 11 years ago

  • Status changed from New(新規) to Accepted(着手)
  • Assignee set to Yuya Watanabe

#3 Updated by Masato Nagasawa about 11 years ago

  • Status changed from Accepted(着手) to Pending Review(レビュー待ち)
  • % Done changed from 0 to 50

更新履歴 ff33ac0a8e688ac5b119e88fd8e8702e3d115030 で適用されました。

#4 Updated by Yuya Watanabe about 11 years ago

現在の修正だけでは、修正前にすでに送信されたメールに記載されたURLを用いると重複登録ができることを確認しました。
具体的には以下の手順を行うと重複登録が可能になります。

  1. 修正を行う前の環境で下記を行う
    1. 管理画面でメールアドレスAに招待メールを送る -> 招待状1
    2. 管理画面で同じメールアドレスAに招待メールを送る -> 招待状2
  2. 現在メールアドレスAで2通受信されていることを確認する
  3. 修正を施して現在修正後の環境で以下を行う
    1. 招待状1から会員登録
      →member id 2にて登録完了 # 期待される結果ではない
    2. ログアウトせずに招待状2から会員登録画面を表示
    3. 登録完了
      →member id 3にて登録完了

本チケットの元であるチケットが完了状態になっているため、この問題については別チケットで扱うことになると思います。

#5 Updated by Yuya Watanabe about 11 years ago

コメント4における問題は #2340 に記載しました。

#6 Updated by Yuma Sakata about 11 years ago

テストしました。

  • 3.4
    [前提]
    送信するアドレスはSNS登録済みである。
    [手順]
    1.管理画面の認証プラグイン設定(/pc_backend.php/plugin/list/type/auth)にアクセスする。
    2.opAuthMailAddressPluginで招待モードを「招待なしでの登録を許可する」に設定する。
    3.ログイン画面の新規登録から、SNS登録済みのアドレスに招待メール送信する。
    [結果]
    「メールアドレスが無効です。」とエラーメッセージが表示される。
  • 3.6
    [前提]
    送信するアドレスはSNS登録済みである。
    [手順]
    1.管理画面の認証プラグイン設定(/pc_backend.php/plugin/list/type/auth)にアクセスする。
    2.opAuthMailAddressPluginで招待モードを「招待なしでの登録を許可する」に設定する。
    3.ログイン画面の新規登録から、SNS登録済みのアドレスに招待メール送信する。
    [結果]
    送信完了メッセージが表示されるが、メール受信されない。

3.4 と 3.6 で挙動が異なりますが、合わせなくてもよろしいでしょうか?

#7 Updated by Minoru Takai about 11 years ago

  • Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
  • % Done changed from 50 to 70

レビューしました。

master および 3.6.x 向けのチケットはレビューを担当していませんでしたが、このチケットの修正について不足しているのではないかと思う点がいくつかありました。

修正される内容:

  • 1. 登録済みのメールアドレスに対して管理画面から招待状を送ることができてしまう
    • 修正済み
  • 2. (1.)の修正により、登録済みのメールアドレスに対して管理画面から招待状を送ろうとするとエラーメッセージが表示されるが、翻訳されていない
    • 対応されていない
  • 3. (1.)の修正前に(管理画面から)送った、登録済みのメールアドレスに対する招待状で登録ができてしまう
    • 修正されていないが note-4, note-5 で既に言及されている

上記のうち、 1. のみが修正されていればよいものと見做してレビューを行いました。修正は OK です。

#8 Updated by Yuma Sakata about 11 years ago

  • Status changed from Pending Testing(テスト待ち) to Fixed(完了)
  • % Done changed from 70 to 100

テストOKです。

Also available in: Atom PDF