プロジェクト

全般

プロフィール

Bug(バグ) #3211

未完了

モバイルのIP帯域でなくUAが携帯である条件で index.php にアクセスするとリダイレクトの無限ループが発生する

Shinichi Urabe さんが約12年前に追加. ほぼ5年前に更新.

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

0%

予定工数:
3.6 で発生するか:
Unknown (未調査)
3.8 で発生するか:
Unknown (未調査)

説明

現象

  • モバイルのIP帯域でなく、UAが携帯である条件で index.php にアクセスするとリダイレクトのループが発生する
  • 追加条件:管理画面の「携帯電話のIP帯域設定」を「携帯電話のIP帯域をチェックする」に設定する

原因

  • fa249a6d により上記問題が混入された
  • 挙動
  1. index.php へのアクセスでは携帯端末と判別されるため、mobile_frontend アプリケーションが呼び出される
  2. sfDenyFromNonMobileFilter::execute() の 44行目の分岐では isMobile() の判別は false であり、isErrorAction() の判別も false であるので、PCへのリダイレクトの条件に当てはまる
  3. generatePcFrontendUrl() でURLが生成されるが、URLは現在アクセスしているものと同じURLが生成される
  4. リダイレクトが実施されるが、index.php へのアクセスとなり、同じ条件であることは変わらないため無限ループが発生する

本来であれば、opWebRequest::isMobile() と opMobileUserAgent::getInstance()->getMobile()->isNonMobile() で矛盾しない結果となるのがよいのではないかと考えられるが、適切な措置は思いつかない。。

修正内容


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

次のチケットが重複 OpenPNE 3 - Bug(バグ) #4019: 「携帯電話のIP帯域をチェックする」を有効にするとリダイレクトループに陥る場合があるInvalid(無効)2016-09-29

操作

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