View Issue Details

IDProjectCategoryView StatusLast Update
0003929OXID eShop (all versions)1. ----- eShop frontend -----public2012-12-10 14:16
ReporterAdrian.Kirchner 
PriorityurgentSeverityblockReproducibilityalways
Status resolvedResolutionunable to reproduce 
Product Version4.5.9 revision 43186 
Target VersionFixed in Version 
Summary0003929: [EE-only] Mall ssl url detection is broken
DescriptionWhen adding a subshop with ssl url, oxid won't identify this mall by the assigned ssl url.
This happens because oxid core developers introduced a new regex based url parser in oxConfig::isCurrentUrl() which ignores the https scheme.
Steps To Reproduce1) setup a fresh EE instance (eg. V4.5.9)
2) add a subshop with ssl url
3) visit subshop by ssl url -> won't work
Additional InformationBecause this bugtracker is publicly available, I diffed the attached patch against the public trunk[1].

Have you considered the use of phps native parse_url-function[2] for this purpose? It should be much more reliable and provides all information you need at that point.

[1] http://svn.oxid-esales.com/trunk/eshop/core/oxconfig.php
[2] http://php.net/manual/en/function.parse-url.php
TagsSubshops
ThemeBoth
BrowserAll
PHP Versionany
Database Versionany

Relationships

related to 0004010 resolvedvilma_liorensaityte force_sid added in https to every link 
related to 0004026 resolvedvaidas.matulevicius oxConfig::isSsl() doesn't work if only sAdminSSLURL is activated 

Activities

Adrian.Kirchner

2012-04-25 20:31

reporter  

oxconfig.php.patch.txt (762 bytes)
--- oxconfig.php-revBASE.svn000.tmp.php	Fr Mrz 23 07:14:31 2012
+++ oxconfig.php	Mi Apr 25 20:01:57 2012
@@ -784,10 +784,10 @@
 
         $oUtilsServer = oxUtilsServer::getInstance();
 
-        preg_match("/^(http:\/\/)?([^\/]+)/i", $sURL, $matches);
+        preg_match("/^(http[s]?:\/\/)?([^\/]+)/i", $sURL, $matches);
         $sUrlHost = $matches[2];
 
-        preg_match("/^(http:\/\/)?([^\/]+)/i", $oUtilsServer->getServerVar( 'HTTP_HOST' ), $matches);
+        preg_match("/^(http[s]?:\/\/)?([^\/]+)/i", $oUtilsServer->getServerVar( 'HTTP_HOST' ), $matches);
         $sRealHost = $matches[2];
 
         $sCurrentHost = preg_replace( '/\/\w*\.php.*/', '', $oUtilsServer->getServerVar( 'HTTP_HOST' ) . $oUtilsServer->getServerVar( 'SCRIPT_NAME' ) );

vaidas.matulevicius

2012-05-17 14:41

reporter   ~0006624

This bug is related to 0004010 bug which is fixed, so I even could not reproduce current bug.