プロジェクト

全般

プロフィール

Bug(バグ) #3150

完了

メンバー登録時にデータが不正な状態になることがある

Kiwa Sakai さんが12年以上前に追加. ほぼ7年前に更新.

ステータス:
Fixed(完了)
優先度:
High(高め)
担当者:
対象バージョン:
開始日:
2012-08-07
期日:
進捗率:

100%

予定工数:
3.6 で発生するか:
Yes (はい)
3.8 で発生するか:
Yes (はい)

説明

現象

OpenPNEでは認証機構が複数持てるようになっており、この関係でメンバー登録時には

1. メンバー情報の登録
2. 汎用的なアカウントの有効化

という2つの処理を行なっています。

PCのメールアドレスで認証を行う設定の場合は、1においてフォームからの情報入力が行われます。

2のアカウントの有効化処理は汎用処理となっており、1の処理が不要であったり、外部Webサービスと連携のためにフォーム入力不要となるような運用形態においても利用できるような設計となっております。

ただし、ブラウザからの2重フォーム送信やネットワークの状態等、サーバーの外部の要因によってデータが不正な状態になってしまいます。

具体的な現象の例として、 opAuthMailAddressPlugin を利用していて、プロフィール登録時にsubmitボタンを複数回押下すると、 is_active=0 のメンバーが作成されてしまうことがあります。

原因

member/registerInput のフォームで「新規登録」ボタンを複数回クリックした場合に、POST /member/registerInput のリクエストが重複して行われる事で 2 回目以降のリクエストが 404 エラーとなることによるもの。
これにより、本来は最初の POST /member/registerInput のリクエストで opAuthMailAddress/registerEnd にリダイレクトされるべき所が、ブラウザ上では 2 回目以降にレスポンスとして返ってきた 404 エラーの表示のまま止まってしまい、登録が完了しない。
/opAuthMailAddress/registerEnd/token/... の URL を手動で入力して表示すると続行できる)

修正内容

member/registerInput の「新規登録」ボタンを複数回クリックできないように JavaScript で二重送信を抑制する。


ファイル

regist-404.png (29.1 KB) regist-404.png Shinichi Urabe, 2017-06-05 15:38

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

関連している OpenPNE 3 - Backport(バックポート) #3184: メンバー登録時にデータが不正な状態になることがあるFixed(完了)Youichi Kimura2012-08-07

操作
関連している OpenPNE 3 - Backport(バックポート) #3186: メンバー登録時にデータが不正な状態になることがあるFixed(完了)Youichi Kimura2012-08-07

操作
関連している opAuthMailAddressPlugin - Bug(バグ) #3187: メンバー登録時にデータが不正な状態になった場合のメッセージ表示が適切でないWon't fix(対応せず)Youichi Kimura2012-08-29

操作

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