プロジェクト

全般

プロフィール

Bug(バグ) #2584

プロフィール編集画面にて、国または地域のVALUE一覧に無い値で送信すると、その編集したメンバーのプロフィール画面で500エラーが発生する

Shouta Kashiwagi12年以上前に追加. 約4年前に更新.

ステータス:
New(新規)
優先度:
Normal(通常)
担当者:
-
対象バージョン:
開始日:
2011-11-07
期日:
進捗率:

0%

3.6 で発生するか:
Yes (はい)
3.8 で発生するか:
Unknown (未調査)

説明

Overview (現象)

プロフィール項目に「国または地域(op_preset_country)」が使われている場合、
メンバーがプロフィール編集画面にて、profile[op_preset_country][value]の値(value)をFirebug等を用いて、「国または地域」のプルダウンにない値(例えばprofile[op_preset_country][value]=JAPANESE とする等)を送信した場合、そのメンバーのプロフィール確認画面(もしくは他のメンバーが、上記のような行為を行った該当メンバーのプロフィールページ)を覗こうとした時に
そのページで500エラーが発生する。

以下はそのエラー文。
500 | Internal Server Error | InvalidArgumentException
The country JAPAN does not exist.

Causes (原因)

lib/form/doctrine/MemberProfileForm.class.php のバリデーターがプリセットのプロフィール項目の値に対して甘い(プルダウンにある値以外の値を受け取ったときの例外処理を行なっていない)からだと思われる。

Environment (再現環境)

OpenPNE 3.6.0

Way to repro (再現手順)

1. 管理画面の「プロフィール項目設定」でプリセットの「国または地域」を使用するように設定する。
2. プロフィール編集ページ(/member/edit/profile)にアクセスする。
3. Web Developerで「国または地域」のselect要素をinput要素に変換する。
4. 「JAPAN」と入力して送信ボタンをクリックする。
5. プロフィール編集が完了して、プロフィール確認画面に遷移する。
6. 「プロフィール確認ページ」(/member/profile)を開くと500エラーが発生する。


関連するチケット

関連している OpenPNE 3 - Bug(バグ) #2423: プロフィール編集画面にて、入力規則で指定された文字列以外の都道府県が登録できる New(新規) 2011-09-25

履歴

#1 Yuya Watanabe12年以上前に更新

  • 説明 を更新 (diff)

#2 Yuma Sakata12年以上前に更新

  • 3.6 で発生するかYes (はい) にセット
  • 3.4 で発生するかYes (はい) にセット

再現確認できました。

Environment (再現バージョン)

OpenPNE3.4.18
OpenPNE3.6.1

Way to repro (再現手順)

1. 管理画面プロフィール項目登録ページ(/pc_backend.php/profile/edit)にアクセスする
2. プリセットの「国または地域」を使用するように設定する
3. プロフィール編集ページ(/member/edit/profile)にアクセスする
4. Web Developer で「国または地域」の select 要素を input 要素に変換する
5. 「JAPAN」と入力して送信ボタンをクリックする
6. 500エラーが発生する

Way to fix (修正内容)

500エラーが発生しないように修正お願いします。

備考

チケット説明文、再現手順4. 「JAPAN」と入力して送信ボタンをクリックする
上記実行後、500エラーが発生しました。

#3 kaoru n約4年前に更新

  • 対象バージョンOpenPNE 3.10.x にセット

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