Почему Magento использует 2 куки на сессию? - PullRequest
15 голосов
/ 13 октября 2010

В целях безопасности данных и конфиденциальности я хочу знать, почему Magento использует два куки для одного сеанса веб-интерфейса.

Все, что я знаю, это то, что один из них установлен в Mage_Core_Model_Cookie::set(..), а другой в Zend_Session::expireSessionCookie(), но все же я не могу понять, для чего они используются.

Я просто не могу придумать ни одной причины, по которой понадобится второй файл cookie для того же домена.

Ответы [ 3 ]

6 голосов
/ 13 октября 2010

Я собираюсь назвать этот один рудиментарный код.Varien в значительной степени опирается на Zend Framework как основу для Magento, поэтому многие классы (например, Zend_Session) используются в качестве родительских классов для реализаций Magento.раздел сайта, который вы посещаете (например, у вас будет отдельный файл «admin», если вы войдете через бэкэнд), тогда как файл cookie Zend выглядит глобальным.

Также обратите внимание, что я смог удалитьфайл cookie Zend без каких-либо явных вредных эффектов (мой сеанс входа в систему и корзина оставались доступными, и файл cookie не был немедленно заменен).

5 голосов
/ 14 октября 2010

Мне удалось это исправить, изменив порядок вызова session_start() и оператора, который устанавливает cookie в Mage_Core_Model_Session_Abstract_Varien::start(..).Эти две строки теперь выглядят следующим образом:

$cookie->set(session_name(), $this->getSessionId());
session_start();

Теперь он создает только один файл cookie и, похоже, не имеет побочных эффектов.

Кстати: другой файл cookie не был созданв Zend_Session, как я и предполагал, но вместо этого оба они пришли из Mage_Core_Model_Session_Abstract_Varien::start(..).

2 голосов
/ 13 октября 2010

Это интересно.Я только что проверил установку корпоративной версии, и только «PHPSESSIONID» установлен, «frontend» и «admin» отсутствуют даже при входе в оба.Возможно, это то, что все еще активно разрабатывается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...