Почему я не могу войти в бэкенд magento с помощью google chrome

Я использую версию сообщества magento 1.7.0.2. Я не могу войти в серверную часть magento. Я знаю, что эта проблема может быть связана с тем, что Chrome не принимает файлы cookie. Но как это исправить, помогите. Спасибо


person Mukesh    schedule 08.09.2012    source источник
comment
Привет, хотя я принял очень нетехнический ответ, который сработал для меня как для новичка, пожалуйста, просмотрите и другие ответы.   -  person Mukesh    schedule 13.04.2016


Ответы (9)


Одно простое решение — выполнить установку с помощью браузера Opera и использовать его для входа в систему, поскольку он сам сохраняет файлы cookie. Оно работает!

person MS111    schedule 09.01.2013

Если вы включили https для административной панели Magento, обязательно установите «НЕТ» для параметра «Использовать только HTTP» в System->configuration- >веб->Управление сессиями и файлами cookie».

Если у вас есть доступ к базе данных, откройте таблицу "core_config_data" и найдите путь "web/cookie/cookie_httponly" и установите значение "0".

Обязательно удалите папку var/cache. Теперь попробуйте войти в панель администратора Magento. В основном вы можете сейчас. Если нет, напишите о своей проблеме в этой теме.

Таким образом, эта проблема «Не удается войти в панель администратора Magento» в основном связана с настройками файлов cookie Magento. Так что не волнуйтесь, если вы столкнетесь с этой крошечной проблемой. Со списком ответов в этой теме вы можете легко разобраться в этом за несколько минут.

person Haijerome    schedule 28.01.2013
comment
Для всех, кто задается этим вопросом, это должен быть первый ответ, который вы попробуете. - person Nathan; 25.03.2014
comment
@Себастьян, я рад, что это помогает! - person Haijerome; 02.10.2014
comment
@Haijerome С учетом того, что вы сказали, вам не кажется, что это может привести к уязвимости XSS. Мне любопытно узнать, поскольку я столкнулся с тем же и пытался использовать упомянутый вами способ https://blog.codinghorror.com/protecting-your-cookies-httponly/ - person Anurag Khandelwal; 06.02.2017

Для этого есть два решения, любое из них будет работать:

  • Измените конфигурацию времени жизни куки. Перейдите в бэкенд -> Система -> Конфигурация -> Интернет -> Управление сессиями и куки. Установите время жизни куки на 86400 и сохраните его.

см. здесь

  • Перейдите в файл app/code/core/Mage/Core/Model/Session/Abstract/Varien.php в вашем каталоге magento.

Найдите код:

session_set_cookie_params(
$this->getCookie()->getLifetime(),
$this->getCookie()->getPath(),
$this->getCookie()->getDomain(),
$this->getCookie()->isSecure(),
$this->getCookie()->getHttponly()
);

или

// session cookie params
$cookieParams = array(
    'lifetime' => $cookie->getLifetime(),
    'path'     => $cookie->getPath(),
    'domain'   => $cookie->getConfigDomain(),
    'secure'   => $cookie->isSecure(),
    'httponly' => $cookie->getHttponly()
);

и заменить на

session_set_cookie_params(
$this->getCookie()->getLifetime(),
$this->getCookie()->getPath()
//$this->getCookie()->getDomain(),
//$this->getCookie()->isSecure(),
//$this->getCookie()->getHttponly()
);

или

// session cookie params
$cookieParams = array(
    'lifetime' => $cookie->getLifetime(),
    'path'     => $cookie->getPath()
//  'domain'   => $cookie->getConfigDomain(),
//  'secure'   => $cookie->isSecure(),
//  'httponly' => $cookie->getHttponly()
);

После этого сохраните файл.

person akt    schedule 08.09.2012
comment
Пожалуйста, не комментируйте указанные выше строки в основных файлах. - person Mukesh; 04.06.2013

На данный момент это лучшее решение, чем изменение кода в другом месте http://iamtheshadowonthesun.blogspot.com/2012/10/magento-cannot-login-to-admin-panel.html

Используя phpMyAdmin, в базе данных magento найдите таблицу core_config_data и щелкните по ней. Щелкните вкладку «Поиск». Затем в столбце «путь» установите оператор НРАВИТСЯ %...% и значение для файла cookie и нажмите кнопку «Перейти» для поиска.

После поиска установите для параметров web/cookie/cookie_path, web/cookie/cookie_domain, web/cookie/cookie_httponly и web/browser_capabilities/cookies значение NULL.

person Joe Ejes    schedule 03.07.2013

то, что сработало для меня, это то, что Haijerome, к сожалению, я не могу войти в бэкэнд, чтобы изменить конфигурацию. Это то, что я выполняю всякий раз, когда устанавливаю новый свежий magento:

insert into core_config_data(scope, scope_id, path, value) values("default", "0", "web/cookie/cookie_httponly", "0");

тогда:

rm -Rf var/cache/mage--*
person useless    schedule 01.11.2013

Наши пользователи Chrome не могли добавлять товары в свою корзину... изменение срока службы файлов cookie на рекомендуемое значение 86400 устранило проблему.

Сообщество Magento 1.7

Спасибо!

Джефф

person Jeff    schedule 27.11.2012

проблема в том, что хром не хранит файл cookie для входа, это можно увидеть, посмотрев файлы cookie в chrome | настройки | содержание | продвинутый | все файлы cookie и данные сайта

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

лично я столкнулся с этой проблемой при запуске magento в localhost/на виртуальной машине и подключении из браузера на той же машине. в частности, проблема заключается в том, что хром не будет хранить файлы cookie, если доменное имя не указано. поэтому, если ваше доменное имя 'http://localhost/magento' или 'http://somename/magento', chrome не сохранит cookie, и, следовательно, вы не сможете войти в систему.

вот исправление:

для простоты я придерживаюсь примера, где magento работает на локальном хосте. тот же трюк будет работать, если magento работает на виртуальной машине, и вы получаете доступ с локального хоста, но в таком случае вам нужно изменить файл hosts как на гостевой ОС, так и на клиенте. (и помните, что гостевой ip может меняться, поэтому время от времени вам нужно обновлять файл hosts на хосте)

сначала выберите свое доменное имя. это только на местном уровне, поэтому вам не нужно регистрироваться. я выбираю «dansmagentodev.com». затем в пурпурном | система | web изменить baseurl как в безопасном, так и в небезопасном режиме, чтобы он был http://dansmagentodev.com/magento/

затем в том же месте измените «домен cookie» управления файлами cookie сеанса на «dansmagentodev.com».

Далее нам нужно настроить вашу систему, чтобы она знала, что dansmagentodev.com действительно является локальным хостом. мы делаем это через файл hosts. в Windows этот файл находится в C:\Windows\System32\drivers\etc\hosts. ваша программа проверки на вирусы, вероятно, попытается помешать вам изменить ее (по уважительной причине отключите программу проверки на вирусы, пока вы вносите изменения). затем добавьте строку 127.0.0.1 dansmagentodev.com

А теперь войдите из хрома.

person dancl    schedule 19.12.2012
comment
на всякий случай; если вы нарушаете свою конфигурацию, делая это (что может произойти, если URL-адрес, который вы вводите в magento | system, отличается от URL-адреса в вашем файле hosts), вы можете исправить это, вручную отредактировав таблицы sql, посмотрите в core_config_data - person dancl; 20.12.2012

Моя проблема заключалась в том, что сервер, на котором я работал, был новой установкой Ubuntu с очень небольшой конфигурацией обслуживания сервера.

Он не обновил дату и время, и он отставал на 3 часа.

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

person Mihai Stancu    schedule 03.03.2013

Если на фаерфоксе работает. Тогда проблема в файлах cookie на Chrome, попробуйте очистить файл cookie вашего Chrome.

person Josua Marcel C    schedule 08.09.2012
comment
Я попробовал ваше решение, но оно не помогает. Оно работает в Firefox. Спасибо за предложение - person Mukesh; 08.09.2012
comment
может у дать мне решение, как вы это исправили? - person Pavan Kumar; 11.04.2013
comment
если вы запускаете magento на локальном хосте, перейдите в файл app/code/core/Mage/Core/Model/Session/Abstract/Varien.php в вашем каталоге magento. session_set_cookie_params( $this->getCookie()->getLifetime(), $this->getCookie()->getPath() //$this->getCookie()->getDomain(), //$this->getCookie( )-›isSecure(), //$this-›getCookie()-›getHttponly() ); - person Josua Marcel C; 11.04.2013
comment
Лучше не комментировать файлы ядра. Создайте локальную копию файла, а затем прокомментируйте указанные выше строки в Varien.php. - person Mukesh; 04.06.2013