Bug(バグ) #3211
モバイルのIP帯域でなくUAが携帯である条件で index.php にアクセスするとリダイレクトの無限ループが発生する
Start date:
2012-09-27
Due date:
% Done:
0%
3.6 で発生するか:
Unknown (未調査)
3.8 で発生するか:
Unknown (未調査)
Description
現象¶
- モバイルのIP帯域でなく、UAが携帯である条件で index.php にアクセスするとリダイレクトのループが発生する
- 追加条件:管理画面の「携帯電話のIP帯域設定」を「携帯電話のIP帯域をチェックする」に設定する
原因¶
- fa249a6d により上記問題が混入された
- 挙動
- index.php へのアクセスでは携帯端末と判別されるため、mobile_frontend アプリケーションが呼び出される
- sfDenyFromNonMobileFilter::execute() の 44行目の分岐では isMobile() の判別は false であり、isErrorAction() の判別も false であるので、PCへのリダイレクトの条件に当てはまる
- generatePcFrontendUrl() でURLが生成されるが、URLは現在アクセスしているものと同じURLが生成される
- リダイレクトが実施されるが、index.php へのアクセスとなり、同じ条件であることは変わらないため無限ループが発生する
本来であれば、opWebRequest::isMobile() と opMobileUserAgent::getInstance()->getMobile()->isNonMobile() で矛盾しない結果となるのがよいのではないかと考えられるが、適切な措置は思いつかない。。
修正内容¶
Related issues
History
#2
Updated by Youichi Kimura over 5 years ago
- Duplicated by Bug(バグ) #4019: 「携帯電話のIP帯域をチェックする」を有効にするとリダイレクトループに陥る場合がある added
#3
Updated by kaoru n about 5 years ago
- Target version changed from OpenPNE 3.9.0-old to OpenPNE 3.9.0
#4
Updated by isao sano about 5 years ago
再現を確認しました。
#5
Updated by kaoru n over 2 years ago
- Target version changed from OpenPNE 3.9.0 to OpenPNE 3.10.x