User tests: Successful: Unsuccessful:
Login and Logout form actions set to "index.php", in doing so undoing the change made Dec 8, 2014.
Reason for this change is that JRoute::_()
doesn't honor the third parameter (the "usesecure" flag) when a complete URL is passed, this is due to the following lines in that method:
if (!is_array($url) && (strpos($url, '&') !== 0) && (strpos($url, 'index.php') !== 0))
{
return $url;
}
Assume that http://www.example.org/index.php
is the current URL which is passed as a string as first parameter to JRoute::_()
. A string is not an array, there is no "&" in the string (so strpos()
returns false
which is not identical to "0") and the substring "index.php" doesn't start at position 0 in the string. Therefore the given URL is returned without any modifications, here: no changing of the scheme to HTTPS if the flag "usesecure" is set.
It is no problem to pass simply "index.php" here as action since the real target after logging in is passed in the hidden field "return".
For testing this change you need a current Joomla installation with the sample data installed.
Preparations
Status Quo
http://<server>/index.php
Changes
https://<server>/index.php
https://<server>/index.php
Category | ⇒ | Front End Modules |
Status | New | ⇒ | Pending |
Labels |
Added:
?
|
I have tested this item
Status | Pending | ⇒ | Ready to Commit |
2 good testers. RTC
Labels |
Added:
?
|
Status | Ready to Commit | ⇒ | Fixed in Code Base |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2016-08-13 21:32:16 |
Closed_By | ⇒ | wilsonge |
Labels |
Removed:
?
|
I have tested this item✅ successfully on 8dd80b3
works as expected.
IMHO we should have the same behaviour in the offline pages (protostar and system).
But i guess that needs a parameter at user component level.
This comment was created with the J!Tracker Application at issues.joomla.org/joomla-cms/11533.