#1544 closed defect (fixed)
SlavePNEで必須プロフィール項目が空でもログインできてしまう場合がある
Reported by: | ebihara | Owned by: | ebihara |
---|---|---|---|
Priority: | critical | Milestone: | OpenPNE2.10.2 |
Component: | pne-masterslave | Version: | 2.8.x & 2.10.x & 2.11.x |
Keywords: | OpenPNE2.8.7 OpenPNE2.11.2 | Cc: |
Description (last modified by )
■現象
SlavePNEで必須プロフィール項目が空でもログインできてしまう場合がある。
■原因
- ファンクションキャッシュが適切にクリアされていなかった
- プロフィール項目の値チェックが間違っていた
■修正内容
- ファンクションキャッシュをクリアする引数のパターンを増やす
- プロフィール項目の値チェックにおいて、型チェックをおこなわないようにする。また、空文字列に対してmd5をかけないようにする(未入力かどうかのチェックができなくなるため)
■関連情報
- 関連チケット:#1535
Change History (19)
comment:1 Changed 13 years ago by
Owner: | changed from nobody to ebihara |
---|---|
Status: | new → assigned |
comment:2 Changed 13 years ago by
Component: | pne-framework → pne-masterslave |
---|---|
Keywords: | OpenPNE2.11.2 added |
comment:4 Changed 13 years ago by
Keywords: | OpenPNE2.8.7 added |
---|---|
Version: | 2.10.x & 2.11.x → 2.8.x & 2.10.x & 2.11.x |
2.8系も修正しましょう。
comment:5 Changed 13 years ago by
Keywords: | 確認中 added |
---|---|
Owner: | changed from ebihara to ogawa |
Status: | assigned → new |
comment:6 Changed 13 years ago by
Keywords: | 確認中 removed |
---|---|
Owner: | changed from ogawa to ebihara |
Status: | new → assigned |
おっと、まだ修正します。値チェック緩くします。
comment:7 Changed 13 years ago by
Keywords: | 確認中 added |
---|---|
Owner: | changed from ebihara to ogawa |
Status: | assigned → new |
comment:8 Changed 13 years ago by
Keywords: | 確認中 removed |
---|---|
Owner: | changed from ogawa to ebihara |
comment:9 Changed 13 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:10 Changed 13 years ago by
■現象
SlavePNEは必須プロフィール項目が空の場合、登録ページにリダイレクトする機能がある。
だが、必須プロフィール項目が入力済かどうかを返す db_member_check_param_inputed() という関数の値チェックが間違っている。
if (($c_membernickname? === )
($c_memberbirth_year? === ) ($c_memberbirth_month? === ) ($c_memberbirth_day? === ) ($c_memberc_password_query_id? === ) ($c_membersecure?hashed_password_query_answer? === ) ) {
return 1;
}
とあるが、
- c_member.c_password_query_id は int型であり、デフォルト値に 0 が指定されている。つまり空文字列であることは考えにくい
- c_member_secure.hashed_password_query_answer に空文字列が指定された場合、空文字列に対して md5() をかけてしまうので、d41d8cd98f00b204e9800998ecf8427e という値になり、空文字列ではなくなる
など、問題が散見されるので、見直す。
■原因
■修正内容
■関連情報
comment:11 Changed 13 years ago by
Description: | modified (diff) |
---|
すいません、descriptionの変更をするはずがコメントに書き込んでしまいました。
comment:12 Changed 13 years ago by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
動作テストが完了していないのでテスト待ちに変更します
comment:15 Changed 13 years ago by
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
comment:16 Changed 13 years ago by
Keywords: | テスト待ち removed |
---|
comment:17 Changed 13 years ago by
Description: | modified (diff) |
---|
comment:18 Changed 13 years ago by
Description: | modified (diff) |
---|
comment:19 Changed 13 years ago by
Description: | modified (diff) |
---|
Note: See
TracTickets for help on using
tickets.
やります