#2931 closed defect (fixed)
設定変更の秘密の質問の設定で答えが空白だと、秘密の質問のみが更新される
Reported by: | imamura623 | Owned by: | shingo |
---|---|---|---|
Priority: | minor | Milestone: | OpenPNE2.12.4 |
Component: | 指定しない | Version: | 2.10.x & 2.12.x & 2.14.x |
Keywords: | OpenPNE2.10.10 OpenPNE2.13.2 | Cc: |
Description (last modified by )
■現象
設定変更の秘密の質問の設定で答えが空白だと、秘密の質問のみが更新される
■原因
秘密の質問の答えが未入力でも質問を変更できる為。
■修正内容
秘密の質問が変更され、答えが未入力の場合エラーを出すように修正。 (認証モード:SlavePNE時と質問値:0の場合を除く) ※質問値が0かつ答えが未入力の場合は質問値を0のままキープする
■関連情報
元のDescription
http://sns.openpne.jp/?m=pc&a=page_fh_diary&target_c_diary_id=18389より転記
So-net SNSのオーナーより挙がっている要望を記載させていただきます。 「秘密の質問」につきまして、以下の改善を要望いたします。 現在、SNSの設定変更画面にて「秘密の質問」を選択し、「秘密の質問の答え」を未入力のまま「設定変更」をクリックすると、「秘密の質問」のみが変更されてしまいます。 例)現在の仕様 秘密の質問・・・A 秘密の質問の答え・・・A' ▼ ▼秘密の質問・・・A を、Bに変更し、 ▼秘密の質問の答えは空白で「設定変更」をクリック ▼ 秘密の質問・・・B 秘密の質問の答え・・・A' 秘密の質問の変更の際は、秘密の質問の答えが入力されていなければ、変更できない、という仕様に変更していただけませんでしょうか? ご検討をお願いいたします。
Change History (21)
comment:1 Changed 12 years ago by
Keywords: | 再現待ち removed |
---|
comment:2 Changed 12 years ago by
Owner: | changed from nobody to syamada |
---|---|
Status: | new → assigned |
修正します。
comment:3 Changed 12 years ago by
Owner: | changed from syamada to shingo |
---|---|
Status: | assigned → new |
comment:4 Changed 12 years ago by
Description: | modified (diff) |
---|---|
Status: | new → assigned |
comment:5 Changed 12 years ago by
Description: | modified (diff) |
---|---|
Keywords: | OpenPNE2.10.10 OpenPNE2.13.3 確認中 added |
Milestone: | → OpenPNE2.12.4 |
comment:6 Changed 12 years ago by
Keywords: | OpenPNE2.13.2 added; OpenPNE2.13.3 removed |
---|
comment:7 Changed 12 years ago by
Keywords: | 差し戻し added; 確認中 removed |
---|
- この修正は、 CSV インポートなどによって c_member.c_password_query_id が 0 の状態で登録されたメンバーを考慮していません
- pc_page_h_config を表示した際に、秘密の質問の選択肢のうち一番はじめのもの(デフォルトでは「母または父の旧姓は?」)が常に選択された状態になるため、秘密の質問の答えを入力せずに pc_do_h_config_3 で扱われる他の設定項目を変更しようとすると、以下の if 文に引っかかりエラーとなってしまいます
46 if ($c_password_query_id != $c_member['c_password_query_id']) { 47 if (!strlen($c_password_query_answer)) { 48 $error_messages[] = '秘密の質問の答えを入力してください。'; 49 } 50 }
- pc_page_h_config を表示した際に、秘密の質問の選択肢のうち一番はじめのもの(デフォルトでは「母または父の旧姓は?」)が常に選択された状態になるため、秘密の質問の答えを入力せずに pc_do_h_config_3 で扱われる他の設定項目を変更しようとすると、以下の if 文に引っかかりエラーとなってしまいます
- SlavePNE 以外の認証モード時に登録されたメンバー(c_password_query_id が 1以上であるメンバー)が、認証モードが SlavePNE に変更された後に継続して利用することを OpenPNE は想定していませんが、念のために認証モードが SlavePNE の場合は、 $c_password_query_id のチェックをおこなわないようにするのがベターではないでしょうか
comment:9 Changed 12 years ago by
Description: | modified (diff) |
---|---|
Keywords: | 確認待ち added; 差し戻し removed |
comment:10 Changed 12 years ago by
Keywords: | 確認中 added; 確認待ち removed |
---|
comment:11 Changed 12 years ago by
Keywords: | 差し戻し added; 確認中 removed |
---|
- 2.10 には OPENPNE_AUTH_MODE という定数は存在しません
- stable-2.12.x/webapp/modules/pc/do/h_config_3.php の 50 行目 の if 文は不要な気がします。 51 行目でおこなっている、 $c_memberc_password_query_id? != 0 のチェックのみで充分ではないでしょうか
- 0 か 0 でないかという判定の場合は、 if ($hoge), if (!$hoge) というように書くことができますが、今回のケースのようにルーズなチェックで構わない場合、個人的には == や != を使わない形で書くことが多いです。ほぼ好みの問題ではありますが == や != を省略するほうが望ましいかどうか再検討してみてはどうでしょう
comment:12 Changed 12 years ago by
Keywords: | 確認待ち added; 差し戻し removed |
---|
comment:13 Changed 12 years ago by
Keywords: | 確認中 added; 確認待ち removed |
---|
comment:14 Changed 12 years ago by
Keywords: | テスト待ち added; 確認中 removed |
---|
comment:15 follow-up: 16 Changed 12 years ago by
Keywords: | 差し戻し added; テスト待ち removed |
---|
comment:16 Changed 12 years ago by
Replying to kiwa:
以下の現象の確認をお願いします。
version
※2.12.3では再現せず
内容
OPENPNE_AUTH_MODE:slavepne の状態で設定変更(pc_page_h_config)で「設定変更(a=do_h_config_3)」の「設定変更」ボタンを押下すると、「秘密の質問の答えを入力してください。」とエラーメッセージが表示されて設定を変更できない
SlavePNE 時に c_password_query_id が存在するメンバー(想定している環境下では存在し得ないメンバー)で設定変更をおこなおうとしたのが原因のようです。これについては comment:7 で指摘しましたが対策がおこなわれていなかったようです。修正をおこないます。
comment:17 Changed 12 years ago by
Keywords: | 確認中 added; 差し戻し removed |
---|
comment:18 Changed 12 years ago by
comment:19 Changed 12 years ago by
Keywords: | テスト待ち added; 確認中 removed |
---|
comment:20 Changed 12 years ago by
Keywords: | テスト待ち removed |
---|---|
Resolution: | → fixed |
Status: | assigned → closed |
確認しました。問題ありません。
comment:21 Changed 12 years ago by
Description: | modified (diff) |
---|
Note: See
TracTickets for help on using
tickets.
以下のような確認を行ったところ再現できました。
■確認ブラウザ
■確認バージョン
■手順