Ticket #1501 (new バグ指摘)

Opened 9 years ago

Last modified 6 years ago

カート以降のページでSSLでアクセスしても非SSLにリダイレクトされてしまう

Reported by: yomoro Owned by: somebody
Priority: Milestone: バックログ
Component: フロント Version: 2.11.2
Keywords: Cc:
修正済み: no

Description

コミュニティから

 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=8213&forum=8

$_SERVERHTTPS?をNULLで返すサーバーがあり、sfIsHTTPSで正常に判定できない為、発生する物と思われます。

if ($_SERVERSERVER_PORT? == "443" )で判定をかけてみてはと思いますがいかがでしょうか?

Change History

comment:1 Changed 9 years ago by nanasess

SSL のポート番号は 443 とは限らないので, ポート番号の決め打ちは良くないと思います

comment:2 Changed 9 years ago by yomoro

nanasessさん

そうですね。確かに。 うーん。何かいい方法はないものか・・・

comment:3 Changed 8 years ago by kim

  • Milestone set to EC-CUBE2.12.4

comment:4 Changed 7 years ago by kim

  • Milestone changed from EC-CUBE2.13.0 to バックログ

2.13.0の対応内容を固めていくため、バックログに移動します。

comment:5 Changed 7 years ago by kim

  • Milestone changed from バックログ to EC-CUBE2.13.0

一度バックログにしましたが、セキュリティ関連という事もあり一度検討するという意味で再度もどします。

comment:6 Changed 7 years ago by h_yoshimoto

  • Milestone changed from EC-CUBE2.13.0 to EC-CUBE 2.13.1

comment:7 Changed 7 years ago by Seasoft

本件と関係あるか分かりませんが、Apache の仮想ホストの設定記述を一部省くと、HTTPS で通信しているにも関わらず、「$_SERVER['HTTPS']をNULLで返す」といった事象が発生するようです。

しかも、「$_SERVER["SERVER_PORT"]」は 80 という驚愕の値に・・・

どうやら、PHP が、Apache の実際の通信状態ではなく設定関連の値からスーパーグローバル変数をセットしているようです。

アプリケーション側でゴニョゴニョせず、サーバー側で善処してもらうのが筋かなと思います。

# SSL アクセラレータを使っている場合にも同様の現象になったと思います。その場合まで EC-CUBE で面倒を見るのは現状では酷かなと。初期化処理で、スーパーグローバル変数を書き換えるなどで対処できたと思います。(おそらく本件事象でも応用可能。)

comment:8 Changed 7 years ago by m_uehara

  • Milestone changed from EC-CUBE 2.13.1 to EC-CUBE 2.13.2

comment:9 Changed 6 years ago by h_yoshimoto

  • Milestone changed from EC-CUBE2.13.2 to EC-CUBE2.13.3

comment:10 Changed 6 years ago by kim

  • Milestone changed from EC-CUBE2.13.3 to バックログ

継続して実装方針検討中のため、ひとまずバックログへ移動します。

Note: See TracTickets for help on using tickets.