プロジェクト

全般

プロフィール

Backport(バックポート) #1618

opMemberAction::executeRegister()でisInvited()チェックがあるため。管理者からの招待、または招待無し登録の場合に登録できない

Hidenori Goto13年以上前に追加. 13年以上前に更新.

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

100%


説明

該当箇所

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の状態で招待が送信される。

  1. SNS管理者が管理画面から招待メールを送信した場合
  2. 招待不要で登録可能な設定で、一般ユーザーが自分で登録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)


関連するチケット

関連している OpenPNE 3 - Bug(バグ) #1617: opMemberAction::executeRegister()でisInvited()チェックがあるため。管理者からの招待、または招待無し登録の場合に登録できない Fixed(完了) 2010-09-24

関係しているリビジョン

リビジョン a620998e (差分)
Kousuke Ebihara13年以上前に追加

fixed the member/register action doesn't handle admin invited registration (fixes #1618, BP from #1617)

履歴

#1 Kousuke Ebihara13年以上前に更新

  • ステータスAccepted(着手) から New(新規) に変更
  • 対象バージョンOpenPNE 3.7.0 から OpenPNE 3.6beta6 に変更

#2 Shogo Kawahara13年以上前に更新

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

#3 Kousuke Ebihara13年以上前に更新

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

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

#4 Hiroki Mogi13年以上前に更新

テスターテストを実施しました。正常に動作していました。

#5 Rimpei Ogawa13年以上前に更新

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

#6 Kousuke Ebihara13年以上前に更新

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

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