プロジェクト

全般

プロフィール

Bug(バグ) #3211

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

Shinichi Urabe11年以上前に追加. 約4年前に更新.

ステータス:
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() で矛盾しない結果となるのがよいのではないかと考えられるが、適切な措置は思いつかない。。

修正内容


関連するチケット

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

履歴

#2 Youichi Kimura7年以上前に更新

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

#3 kaoru n約7年前に更新

  • 対象バージョンOpenPNE 3.9.0-old から OpenPNE 3.9.0 に変更

#4 isao sanoほぼ7年前に更新

再現を確認しました。

#5 kaoru n約4年前に更新

  • 対象バージョンOpenPNE 3.9.0 から OpenPNE 3.10.x に変更

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