プロジェクト

全般

プロフィール

Bug(バグ) #2584

未完了

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

Shouta Kashiwagi さんが約13年前に追加. ほぼ5年前に更新.

ステータス:
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エラーが発生する。


関連するチケット 1 (1件未完了0件完了)

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

操作

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