Не удается войти в Magento admin

У меня есть magento, установленный в подкаталоге. www.domain.com/subdir/magento

Этот сайт отлично работал в один момент. Я ничего не изменил, пока мой клиент не сказал, что не может войти в magento admin.

Я очень хорошо входил в систему с моего компьютера, но на своем компьютере он просто перенаправлялся обратно на логин администратора magento без сообщения об ошибке и URL-адреса, который выглядел тупо следующим образом:

http://domain.com/subdir/magento/index.php/admin/index/index/key/3097210b826ac4a86d7531cb4089c9d0/

Я думал, что его куки были заблокированы, но это было не так.

Мои настройки magento были безопасными/незащищенными baseurl: http://domain.com/subdir/magento/

web cookie path: (blank)
web cookie domain: (blank)

После очистки var/cache я обнаружил, что сам я не мог войти в админ с той же самой проблемой.

Я попробовал следующие настройки без удачи:

path: /
domain: domain.com

path: /subdir/magento
domain: vigrond.com

Я также пробовал комментировать эти строки в Varien.php, но это тоже не имело никакого эффекта.

Моя учетная запись сервера - это VPS, и у нее много свободного места.

Итак, я почти потерялся, задаваясь вопросом, почему это произошло в первую очередь, когда оно работало раньше (ничего не меняя), и почему это так сложно?

Любая помощь оценена

Ответ 1

Я никогда не разрешал проблему. Но я вытер клиентский компьютер и переустановил Windows 7, и он сработал. Было очень странно, что он не работал раньше, поскольку он не был за прокси-сервером, не имел рекламы или вирусов. И проблема воспроизводится в каждом из его браузеров (chrome firefox и IE). Это не проблема маршрутизатора. Это была проблема с окнами, но я не мог сказать вам, что именно вызвало это. Это были не настройки безопасности в Интернете, так как я проверил их. Также проверен файл хоста. Как я уже говорил, очень озадаченно

Ответ 2

Если сообщение об ошибке входа ( "неверный пароль" и т.д.) не отображается, это почти всегда проблема с cookie сеанса. Чтобы полностью изменить его, используйте Использовать просмотрщик cookie браузера и/или ваш любимый сниффер трафика HTTP и проверьте

  • Чтобы все cookie имели правильные даты истечения срока действия после установки

  • Что cookie сеанса имеет согласованное имя/значение токена для каждого запроса

  • Этот PHP при работе с Magento имеет различные настройки времени жизни сеанса при разумном значении

  • Этот PHP может записывать все, что он использует в качестве хранилища файлов cookie

  • То, что время сервера совпадает с реальным временем, и что у самого PHP есть набор часовых поясов

Ответ 3

Найти приложение/код/​​ядро ​​/Маг/Ядро/Модель/Сессия/Аннотация/Varien.php. в папке установки Magento. Прокомментируйте строки (см. Ниже) от 80 до 83. Номер строки может отличаться.

    // set session cookie params
    session_set_cookie_params(
        $this->getCookie()->getLifetime(),
        $this->getCookie()->getPath()//,
        //dependes which versin of mage you are using, you may comment these as well
        //$this->getCookie()->getDomain(),
        //$this->getCookie()->isSecure(),
        //$this->getCookie()->getHttponly()
    );

Это проблема кэширования. Недавно сообщество Magento подтвердило, что оно отсортировано, но это не так.:)

Просто очистите кеш и сделайте это, он все равно должен работать.

Прокомментировать эти строки также

//        if (!$cookieParams['httponly']) {
//            unset($cookieParams['httponly']);
//            if (!$cookieParams['secure']) {
//                unset($cookieParams['secure']);
//                if (!$cookieParams['domain']) {
//                    unset($cookieParams['domain']);
//                }
//            }
//        }
//
//        if (isset($cookieParams['domain'])) {
//            $cookieParams['domain'] = $cookie->getDomain();
//        }
  • Убедитесь, что в вашем браузере есть файлы cookie, попробуйте несколько различные браузеры, включая Safari или Opera. Chrome предоставит некоторые проблемы, и вам нужно помнить, что вы очищаете кеш в Chrome после внесение изменений!

  • Убедитесь, что для разрешений для файлов установлено значение EVERYONE - FULL CONTROL для Windows и 777 для вашей среды Mac/Linux. Если все это не работает, вы можете попробовать следующее: (Я не рекомендую это решение для производственной версии от Magento, но для вас локальная среда тестирования будет работать.)

  • Проверьте версию php, которую вы используете. Если вы используете недавний Magento, попробуйте найти версию PHP и расширения.

Подробнее

Ответ 4

Вы удалили хранилище сеансов в каталоге var?

В моем случае, когда я играл с авторизованием для multistore на поддоменах (измененный путь и домен для cookie, как и вы), этот метод помог мне сбросить "плохой" cookie и успешно войти в админ:

В каталоге apppath/var/session я сделал команду в оболочке (будьте осторожны с путём, это может удалить все файлы в каталоге)

rm -rf /path/to/magento/var/session/*

А затем просто очистите файл cookie для домена в браузере.

Ответ 5

Я сегодня борюсь с этой проблемой на моем локальном сервере. Я не мог войти в систему с помощью любого браузера. Я действительно не хотел комментировать любые строки в основных файлах или делать какие-либо другие "грязные" решения.

Сначала я проверил cookie, установленный браузером. У него было истечение срока до 1970 года, так что это явно проблема с печеньем.

Я проверил значения для файлов cookie в базе данных magento. В phpmyadmin я нашел таблицу core_config_data​​strong > , затем поля со значениями: web/cookie/cookie_domain и web/cookie/cookie_path. Они оба были пустыми.

Моим решением было установить:

web/cookie/cookie_domain для моего доменного имени

и

web/cookie/cookie_path в /.

Пример:

в вашем домене, где вы запускаете magento, находится magento.local набор:

web/cookie/cookie_path = magento.local

и

web/cookie/cookie_path =/

Ответ 6

У меня была та же проблема, но я работал над XAMPP на окнах 7 x64.

В системе Magento - настройка - изменение настроек cookie в веб-сеансе Использовать только HTTP до no и Время в Cookie 86400.

Я только изменил срок жизни Cookie, как раз в случае летнего времени, возможно, не нужно менять.

До изменений я мог только войти в систему с помощью Firefox, и после изменений все браузеры работают.

Оставьте путь к файлу cookie и домен cookie.

Ответ 7

Проверьте конфиги cookie в таблице core_config_data​​strong > и проверьте, сохранен ли ваш сеанс на db. В моем случае кто-то просто изменил домен cookie и путь к файлу cookie с неправильным значением.

Вы также можете проверить это на node в своем приложении /etc/local.xml. Если это на db, возможно, вам следует изменить файлы do, чтобы иметь возможность очищать данные сеанса непосредственно в каталоге var/session.

Ответ 8

Удалите файлы cookie (связанные с вашим доменом) из настроек вашего браузера.

Ответ 9

Я столкнулся с одной проблемой, и в конце я обнаружил, что это связано с полным дисковым пространством, и из-за этого Magento не смог создать файл сеанса в папке var var/session. После очистки журнальных файлов проблема была решена.

Ответ 10

Кроме того, вы можете обновить пароль в базе данных, если все остальное сверху не работает, и вам нужен отчаянный доступ:

UPDATE admin_user SET password=CONCAT(MD5('qXpassword'), ':qX') WHERE username=‘user’;

заменить слова пользователя и пароля в соответствии с вашими потребностями.

Ответ 11

Если ничего не работает, убедитесь, что квота диска не превышена. Новые файлы cookie сеанса, созданные в формате. /var/session, будут иметь длину 0 байт, если превышена дисковая квота для пользователя.

Ответ 12

В случае, если вы не видите cookie с именем "frontend" или "adminhtml", при перезагрузке страницы, cookie Magento не был установлен. В моем случае у меня неправильный cookie_domain. Я использовал "null" вместо "NULL".

Когда я установил cookie_domain в NULL в core_config_data, проблема была решена.