Joomla с 3.6.0 по 3.6.1 приводит к ошибке «неверный токен безопасности»

11

Я только что попытался обновить свой сайт с Joomla 3.6.0 до 3.6.1, и я получаю следующее сообщение об ошибке:

В последнем запросе было отказано, поскольку он содержал недопустимый токен безопасности. Пожалуйста, обновите страницу и попробуйте снова.

Как я могу успешно установить обновление?

Лоддер
источник

Ответы:

10

Если у вас не установлена Akeeba Backup:

  • Вернуться на страницу обновления Joomla
  • Загрузите и установите пакет обновления Joomla 3.6.1, используя вкладку «Загрузка и обновление»
  • Перейдите в Расширения >> Управление >> База данных
  • Может появиться сообщение о том, что база данных устарела. Если это так, нажмите кнопку « Исправить» на панели инструментов.

Если у вас установлена Akeeba Backup:

  • Перейти к диспетчеру плагинов
  • Отключить систему - Резервное копирование при обновлении плагина
  • Вернуться на страницу обновления Joomla
  • Загрузите и установите пакет обновления Joomla 3.6.1, используя вкладку «Загрузка и обновление»
  • Перейдите в Расширения >> Управление >> База данных
  • Может появиться сообщение о том, что база данных устарела. Если это так, нажмите кнопку « Исправить» на панели инструментов.
Лоддер
источник
Спасибо - я отключил Akeeba Backup и запустил автообновление. Работал.
Герфрид
8

Подробности об этой проблеме теперь можно найти в Joomla Docs :

В чем причина?
3.6.1 ввел проверку токена CSRF для компонента обновления в качестве дополнительного уровня безопасности. С 3.6.0 до 2.5.4 (каждая версия с компонентом обновления) возникнет проблема с токеном CSRF, потому что эти версии не генерируют необходимый код для прохождения проверки. Будущие обновления будут работать правильно

Решения Лоддера работают отлично. Использование сторонних сервисов обновления, таких как MyJoomla или Watchful.li, не должно вызывать проблем

johanpw
источник
5

У меня также было такое же сообщение об ошибке после обновления 3.6.0 -> 3.6.1: 0 Не удалось запустить сеанс: уже запущен PHP (установлена ​​переменная $ _SESSION).

Чтобы решить эту проблему, вам нужно использовать PHP Selector и перейти с версии 5.3 (это проблема PHP 5.3; будет исправлена ​​в Joomla 3.6.2). Я меняю с 5.3 -> 5.6 и теперь могу войти в администрацию.

Надежда помогает

Джефф
источник
3

Если люди не могут войти в серверную часть, здесь есть дополнительное исправление для github: https://github.com/joomla/joomla-cms/pull/11430/files

Вы должны изменить следующие строки в библиотеках / joomla / session / handler / native.php

private $started;к private $started=false;и private $closed;кprivate $closed=false;

Добавьте строку $this->closed = true;после session_write_close();(строка 153)

На сайтах, которые я сегодня пропатчил, похоже, проблема PHP 5.3.

Ричард Б
источник
модифицировать файлы ядра не очень хорошая идея.
Joomler
1
@joomler Это плохая идея для любых постоянных изменений, но это временное исправление ошибки, которая может быть перезаписана в будущих исправлениях, при условии, что Joomla исправит такие ошибки в будущих исправлениях (они все еще говорят, что поддерживают 5.3). Если вы хотите запустить Joomla на PHP 5.3, то, похоже, это единственный способ исправить эту ошибку. Обновление PHP более разумно, но это не всегда быстро / просто. На github это исправление было написано одной из команд Joomla's Leadership Team, так что следующий патч, скорее всего, будет включать это изменение.
Ричард Б
1
@Joomler - этот коммит был объединен и добавлен к вехе v3.6.1, так что все в порядке;)
Lodder
да, это выглядит хорошо :)
Joomler
2

Похоже, что я нажал эту кнопку обновления немного, чтобы быстро ... снова ...

Если я прочитал официальный выпуск новостей The Joomla! 3.6.1 Обновление немного более тщательно, я узнал бы следующее из третьего абзаца:

Обновление от Joomla! 3.6.0

Обновите Joomla! Обновление компонента через менеджер расширений . Тогда используйте Joomla! Обновите компонент для обновления до последней версии 3.6.x.

Итак, я проверил это утверждение на втором тестовом сайте, и, конечно же, достаточно: после того, как я нажал на расширения доступны обновления! Quickicon в панели управления, среди других обновлений был один важный: Joomla! Обновление компонента Обновление 3.6.1

Я сначала обновил его, а затем вернулся к компоненту Joomla Update и нажал на синюю кнопку «Установить обновление», на этот раз без каких-либо проблем или сообщений об ошибках.

Позже я видел несколько твитов от членов Joomla PLT, ссылаясь на официальный релиз Joomla Github Joomla 3.6.1, который помогает немного дальше:

ВАЖНЫЙ! Из-за обновления безопасности в этом выпуске, пожалуйста, сначала обновите Joomla до версии 3.6.0, затем установите новую версию компонента обновления Joomla через Extension Manager, прежде чем продолжить обновление Joomla как обычно **

Есть также ссылки на скачивание всех важных пакетов в вопросах, даже на то, что само обновление компонента Joomla Update com_joomlaupdate-3.6.1.zip , на случай, если по какой-то причине это обновление не появится в вашем компоненте обновления расширений на вашем сайте.

Мораль истории: RTFM!

РЕДАКТИРОВАТЬ: Хорошие люди из JoomlaShack (экс-Alledia) только что опубликовал Что знать об обновлении до Joomla 3.6.2

введите описание изображения здесь

Mikan
источник