プロジェクト

全般

プロフィール

Backport(バックポート) #2293

完了

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

Yuma Sakata さんが13年以上前に追加. 13年以上前に更新.

ステータス:
Fixed(完了)
優先度:
High(高め)
担当者:
対象バージョン:
開始日:
2010-11-28
期日:
進捗率:

100%

予定工数:

説明

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」を挿入する必要があります。


関連するチケット 2 (0件未完了2件完了)

関連している OpenPNE 3 - Bug(バグ) #1816: 管理画面 招待メール送信 を利用すると同じメールアドレスを重複登録できるFixed(完了)Masato Nagasawa2010-11-28

操作
関連している OpenPNE 3 - Backport(バックポート) #1878: 管理画面 招待メール送信 を利用すると同じメールアドレスを重複登録できるFixed(完了)Masato Nagasawa2010-11-282011-06-24

操作

Yuma Sakata さんが13年以上前に更新

  • 担当者 を削除 (Masato Nagasawa)

Yuya Watanabe さんが13年以上前に更新

  • ステータスNew(新規) から Accepted(着手) に変更
  • 担当者Yuya Watanabe にセット

Masato Nagasawa さんが13年以上前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

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

Yuya Watanabe さんが13年以上前に更新

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

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

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

Yuya Watanabe さんが13年以上前に更新

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

Yuma Sakata さんが13年以上前に更新

テストしました。

  • 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 で挙動が異なりますが、合わせなくてもよろしいでしょうか?

Minoru Takai さんが13年以上前に更新

  • ステータスPending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
  • 進捗率50 から 70 に変更

レビューしました。

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

修正される内容:

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

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

Yuma Sakata さんが13年以上前に更新

  • ステータスPending Testing(テスト待ち) から Fixed(完了) に変更
  • 進捗率70 から 100 に変更

テストOKです。

他の形式にエクスポート: Atom PDF