2016-07-24 2 views
0

я использую MediaWiki 1.27.0 на Ubuntu 14.04Mediawiki, не может войти в систему после изменения пароля

Я не настроить электронную почту на сервере, поэтому я собирался сбросить пароли пользователей с помощью maintenance/changePassword.php, который предоставляет mediawiki.

Когда я запустил свою команду

php maintenance/changePassword.php --conf=/var/www/html/LocalSettings.php --user=myuser --password=newPassword 

Он сказал Password set for myuser

Теперь никто не может войти, и каждый получает то же ошибку

Там, кажется, проблема с вашим сеанс входа в систему; это действие было отменено в качестве меры предосторожности против захвата сессии. Вернитесь на предыдущую страницу, перезагрузите эту страницу и повторите попытку.

Я в затруднении относительно того, как это исправить. Я нахожу других, у кого была эта ошибка со старой версией mediawiki, и следующая версия mediawiki, похоже, исправила их проблему. Но, очевидно, это не может решить эту проблему.

Любая помощь приветствуется.


То, что я пытался

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

Я пробовал this crazy solution, который сказал, что вы должны создать каталог tmp в корневой папке mediawiki и предоставить ему доступ 777. Я попробовал это, просто для хихиканья, а затем удалил каталог.

+2

Первое, что нужно проверить на ошибках сеанса, - это то, работает ли сеанс (на вашем сервере установлен сеансовый файл cookie? Его браузер отправляет обратно?). Во-вторых, проверьте каналы журнала 'session' и' authentication', которые могут дать вам намек на то, где все идет не так. – Tgr

+2

FWIW сообщение об ошибке, которое вы цитируете, показано, когда токены CSRF не совпадают. Когда вы открываете форму входа, сервер сохраняет случайный токен на сеанс, а также помещает его в форму входа в скрытое поле.Согласование маркера, поданного с формой против токена в сеансе, докажет, что вы являетесь и защищаете от [подделок подбора сайтов] (https://en.wikipedia.org/wiki/Cross-site_request_forgery). Если это не сработает, либо сервер не может выполнить запись на сеанс (например, '$ wgSessionCacheType' - это что-то не полезно), либо установка cookie сеанса завершается с ошибкой. – Tgr

+0

Благодарим вас за помощь @Tgr. У меня на самом деле нет переменной '' '' $ wgSessionCacheType'' в моем LocalSettings.php. Как проверить каналы журнала '' 'session'' и' '' authentication'''? – trueCamelType

ответ

0

РЕДАКТИРОВАТЬ

Это не решение. После перезагрузки apache2 мне удалось войти в систему, но эта же проблема повторилась. Я не уверен, что произошло, но это определенно не решило проблему больше, чем просто временно.


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

Инструкции по ручному сбросу паролей mediawiki без электронной почты не говорят, что вы должны перезапустить apache после запуска сценария, но это, похоже, требуется. Это должен был стать моим первым шагом, но я начал волноваться, и все, что я знал, выходило прямо из окна.

Итак, если вы вручную сбросили пароли на mediawiki, и вы получите эту ошибку, перезапустите apache. На самом деле, если вы когда-нибудь получите сообщение об ошибке по какой-либо причине ... это, вероятно, хорошая вещь, чтобы попробовать в любом случае.

+2

Это не требуется. Возможно, вы изменили некоторые настройки конфигурации ранее и забыли перезагрузить/перезагрузить Apache. – Tgr

Смежные вопросы