Project

General

Profile

Backport(バックポート) #3684

opSecurityUser::login() で生成される member/setSid アクションへリダイレクトするために渡される個々のパラメータがURLエンコードされていない

Added by 誠二 天重 almost 5 years ago. Updated almost 5 years ago.

Status:
Fixed(完了)
Priority:
Normal(通常)
Assignee:
Target version:
Start date:
2012-10-01
Due date:
% Done:

100%


Description

現象

opSecurityUser::login() 内に以下のような処理があり、パラメータをurlencode()せず、文字結合している。
この $uri の返値は、現時点では opMemberAction::login() でのみ使われており (本チケットはOpenPNE本体のみのソースを追って確認したもので、プラグインなどで別の用途でこの返値を使っている場合、このチケットの修正目的からすると影響を受けてしまう。)、ここからリダイレクト用のURLとして扱われているので、urlencode() されている必要のあるパラメータだと考えられる。

  • is_remember_login のパラメータについてはintでキャストしているため問題ないと考えられる
  • next_uri, sid, ts のパラメータについては、URLとして意味を持つ文字列が含まれる可能性があるため、urlencode() が必要と考えられる
        $uri = '@member_setSid?next_uri='.$uri
             .'&is_remember_login='.(int)$this->getAuthAdapter()->getAuthForm()->getValue('is_remember_me')
             .'&sid='.$item[0]
             .'&ts='.$item[1];

原因

urlencode() の対応漏れだと考えられる

修正案

各パラメータに urlencode() を施す


Related issues

Copied from OpenPNE 3 - Bug(バグ) #3220: opSecurityUser::login() で生成される member/setSid アクションへリダイレクトするために渡される個々のパラメータがURLエンコードされていない Won't fix(対応せず) 2012-10-01

Associated revisions

Revision db102c15 (diff)
Added by kaoru n almost 5 years ago

(refs #3684, BP from #3220)fixed to parameter is not encoded.

Revision 40d6c579 (diff)
Added by kaoru n almost 5 years ago

(refs #3684, BP from #3220) modified to use the rawurlencode.

History

#1 Updated by 誠二 天重 almost 5 years ago

  • Copied from Bug(バグ) #3220: opSecurityUser::login() で生成される member/setSid アクションへリダイレクトするために渡される個々のパラメータがURLエンコードされていない added

#2 Updated by 誠二 天重 almost 5 years ago

  • Assignee changed from Akihiro KOBAYASHI to 誠二 天重

#3 Updated by 誠二 天重 almost 5 years ago

  • Status changed from New(新規) to Pending Review(レビュー待ち)
  • % Done changed from 0 to 50

#4 Updated by Shinichi Urabe almost 5 years ago

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

#5 Updated by isao sano almost 5 years ago

  • Status changed from Pending Testing(テスト待ち) to Pending Merge(マージ待ち)
  • % Done changed from 70 to 80

単体試験完了しました。
問題ありあせん。

#6 Updated by Shinichi Urabe almost 5 years ago

  • Status changed from Pending Merge(マージ待ち) to Fixed(完了)
  • % Done changed from 80 to 100

Also available in: Atom PDF