さまざまな方法を使用して、コンテキストに基づいて安全なURLを生成することに慣れています。
$this->getUrl('my-page', array('_forced_secure' => $this->getRequest()->isSecure()));
これは、セキュアモードのときにセキュアページにアクセスするリンクを構築する場合に役立ちます(セキュアモードを使用していない場合は、非セキュアページにリンクするだけです)。
私が見ている問題は、Magentoが少数の特別なページのみを安全である必要があるものとして扱うことです(顧客のアカウント、チェックアウトなど)。ユーザーが現在セキュアモードの場合はMagentoに常にセキュアリンクを使用させ、ユーザーが非セキュアモードの場合は非セキュアリンクを使用させることをお勧めします。
私が言えることから、私の唯一の本当の選択肢は:
- のすべてのインスタンスを
$this->getUrl()
上記のスニペットのように変更します。 - 非セキュア
base_url
を設定してHTTPSを使用し、すべてのページを強制的にセキュアにします。
$this->getUrl()
ユーザーのコンテキストに関係なく、すべての呼び出しをHTTPS に変更したり、すべてのページをHTTPSに強制したりする必要がない、より良い方法はありますか?
-編集-
/app/code/core/Mage/Core/Model/Url.php->setRouteParams()
メソッドを変更できることは承知していますが、よりクリーンな方法があることを期待しています。