Magento 1.6/администратор всегда перенаправляет в магазин после SUPEE-9767


Недавно я исправил сайт 1.6 с помощью SUPEE-9767, в нашей копии разработки я не столкнулся с проблемами, но после того, как я перенес его на живой хост, я больше не мог попасть в административную область.

Я бы получил следующие перенаправления:

/admin (302) -> /index.php/admin
/index.php/admin (302) -> /

Я очистил кэш, перестроил индексы и подтвердил, что настройки файлов верны, но поведение остается прежним.

Такое чувство, что я что-то упускаю из виду.

Author: Manashvi Birla, 2017-06-08

2 answers

Я буквально только что провел большую часть дня, отлаживая эту проблему. Проблема возникает только при включенном https (что может объяснить, почему это не происходит в вашей среде разработки).

Строка 835 из PATCH_SUPEE-9767_CE_1.6.2.0_v1-2017-05-25-09-32-57.sh вносит это изменение в _checkBaseUrl в app/code/core/Mage/Core/Controller/Varien/Front.php:

-        $baseUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB, Mage::app()->getStore()->isCurrentlySecure());
-
+        $baseUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB,
+            Mage::getConfig()->shouldUrlBeSecure($request->getPathInfo())
+        );

Проблема в том, что shouldUrlBeSecure возвращает значение false, поскольку имя администратора отсутствует в списке безопасных URL-адресов. Это приводит к тому, что Mage::getBaseUrl возвращает небезопасный base_url, а последующее сравнение с текущим URL-адресом завершается ошибкой (отличается протокол/схема). Поэтому Magento перенаправит вас на base_url (т. Е. Перенаправление на поведение домашней страницы http, которое вы видите).

Я ненавижу основные хаки в качестве исправления, но отмена эффекта этого исправления в строке 317 app/code/core/Mage/Core/Controller/Varien/Front.php кажется лучшим вариантом.

Реплика Бена Маркса... Did you just edit the core?

 3
Author: Jim OHalloran, 2017-06-08 07:03:37

Определенно нет. Поместите его в приложение\код\локальный\Маг\Ядро\Контроллер\Вариен

Я только что протестировал, и это сработало так

 0
Author: angelofraietta, 2017-06-18 23:49:39