Actions
Backport(バックポート) #1618
closedopMemberAction::executeRegister()でisInvited()チェックがあるため。管理者からの招待、または招待無し登録の場合に登録できない
Start date:
2010-09-24
Due date:
% Done:
100%
Estimated time:
Description
該当箇所¶
lib/action/opMemberAction.class.php 114行目からのexecuteRegister()アクション
public function executeRegister($request) { $member = $this->getUser()->setRegisterToken($request['token']); $this->forward404Unless($member && !$this->getUser()->isSNSMember() && $this->getUser()->isInvited()); }
現象¶
通常メンバーから招待した場合は、被招待メンバーのmember.invite_member_idに招待元メンバーIDが入り、$this->getUser()->isInvited()がtrueになるため、member/register以降の登録処理へ進める。
しかし、以下の2つのパターンで、member.invite_member_idがnullの状態で招待が送信される。
- SNS管理者が管理画面から招待メールを送信した場合
- 招待不要で登録可能な設定で、一般ユーザーが自分で登録URLのメールを取得した場合
この2つのパターンではinvite_member_idに入れるべき値がない(nullしかない)ため、$this->getUser()->isInvited()のチェックがある限り登録できない。
暫定的な回避策¶
lib/action/opMemberAction.class.php 114行目からのexecuteRegister()アクションで、isInvitedチェックをなくす
public function executeRegister($request) { $member = $this->getUser()->setRegisterToken($request['token']); $this->forward404Unless($member && !$this->getUser()->isSNSMember()); }
提案¶
isInvited()チェック自体を無くしてしまうと、招待によるメンバー登録で不正ユーザーをブロックしづらくなる懸念がある(招待元IDを物理削除しても登録可能)ため、なんらかのフラグを追加で準備するのが望ましいのではないかと思います。
(招待メールの送信モードetc)
Updated by Kousuke Ebihara about 14 years ago
- Status changed from Accepted(着手) to New(新規)
- Target version changed from OpenPNE 3.7.0 to OpenPNE 3.6beta6
Updated by Shogo Kawahara about 14 years ago
- Status changed from New(新規) to Accepted(着手)
- Assignee set to Shogo Kawahara
Updated by Kousuke Ebihara about 14 years ago
- Status changed from Accepted(着手) to Pending Review(レビュー待ち)
- % Done changed from 0 to 50
更新履歴 a620998e59ed6b882cf4d2070dc28162005f00c4 で適用されました。
Updated by Rimpei Ogawa about 14 years ago
- Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
- % Done changed from 50 to 70
Updated by Kousuke Ebihara about 14 years ago
- Status changed from Pending Testing(テスト待ち) to Fixed(完了)
- % Done changed from 70 to 100
Actions