Skip to content

Commit d42170e

Browse files
Moved isCurrentlySecure() method to Mage_Core_Model_App (#3225)
Co-authored-by: Fabrizio Balliano <fabrizio.balliano@gmail.com>
1 parent 73d4f48 commit d42170e

File tree

4 files changed

+38
-25
lines changed

4 files changed

+38
-25
lines changed

app/code/core/Mage/Core/Controller/Request/Http.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ public function getScheme()
307307
{
308308
return $this->getServer('HTTPS') == 'on'
309309
|| $this->getServer('HTTP_X_FORWARDED_PROTO') == 'https'
310-
|| (Mage::isInstalled() && Mage::app()->getStore()->isCurrentlySecure()) ?
310+
|| (Mage::isInstalled() && Mage::app()->isCurrentlySecure()) ?
311311
self::SCHEME_HTTPS :
312312
self::SCHEME_HTTP;
313313
}

app/code/core/Mage/Core/Model/App.php

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1295,6 +1295,37 @@ public function setRequest(Mage_Core_Controller_Request_Http $request)
12951295
return $this;
12961296
}
12971297

1298+
/**
1299+
* @return bool
1300+
*/
1301+
public function isCurrentlySecure()
1302+
{
1303+
if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') {
1304+
return true;
1305+
}
1306+
1307+
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
1308+
return true;
1309+
}
1310+
1311+
if (isset($_SERVER['SERVER_PORT']) && ($_SERVER['SERVER_PORT'] == 443)) {
1312+
return true;
1313+
}
1314+
1315+
if (Mage::isInstalled()) {
1316+
$offloaderHeader = strtoupper(trim((string) Mage::getConfig()->getNode(Mage_Core_Model_Store::XML_PATH_OFFLOADER_HEADER, 'default')));
1317+
if ($offloaderHeader) {
1318+
$offloaderHeader = preg_replace('/[^A-Z]+/', '_', $offloaderHeader);
1319+
$offloaderHeader = strpos($offloaderHeader, 'HTTP_') === 0 ? $offloaderHeader : 'HTTP_' . $offloaderHeader;
1320+
if (!empty($_SERVER[$offloaderHeader]) && $_SERVER[$offloaderHeader] !== 'http') {
1321+
return true;
1322+
}
1323+
}
1324+
}
1325+
1326+
return false;
1327+
}
1328+
12981329
/**
12991330
* Retrieve response object
13001331
*

app/code/core/Mage/Core/Model/Store.php

Lines changed: 2 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -749,34 +749,12 @@ public function isFrontUrlSecure()
749749
/**
750750
* Check if request was secure
751751
*
752+
* @deprecated
752753
* @return bool
753754
*/
754755
public function isCurrentlySecure()
755756
{
756-
if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') {
757-
return true;
758-
}
759-
760-
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
761-
return true;
762-
}
763-
764-
if (isset($_SERVER['SERVER_PORT']) && ($_SERVER['SERVER_PORT'] == 443)) {
765-
return true;
766-
}
767-
768-
if (Mage::isInstalled()) {
769-
$offloaderHeader = strtoupper(trim((string) Mage::getStoreConfig(self::XML_PATH_OFFLOADER_HEADER)));
770-
if ($offloaderHeader) {
771-
$offloaderHeader = preg_replace('/[^A-Z]+/', '_', $offloaderHeader);
772-
$offloaderHeader = strpos($offloaderHeader, 'HTTP_') === 0 ? $offloaderHeader : 'HTTP_' . $offloaderHeader;
773-
if (!empty($_SERVER[$offloaderHeader]) && $_SERVER[$offloaderHeader] !== 'http') {
774-
return true;
775-
}
776-
}
777-
}
778-
779-
return false;
757+
return Mage::app()->isCurrentlySecure();
780758
}
781759

782760
/*************************************************************************************

app/code/core/Mage/Core/etc/system.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1499,6 +1499,10 @@
14991499
<show_in_default>1</show_in_default>
15001500
<show_in_website>0</show_in_website>
15011501
<show_in_store>0</show_in_store>
1502+
<comment><![CDATA[
1503+
Provide the name of the request header set by the upstream proxy to indicate a secure connection.
1504+
The header <code>X-Forwarded-Proto: https</code> is already checked by default regardless of this configuration option.
1505+
]]></comment>
15021506
</offloader_header>
15031507
</fields>
15041508
</secure>

0 commit comments

Comments
 (0)