Tony Опубликовано 5 февраля, 2021 Опубликовано 5 февраля, 2021 Срочно нужна помощь. Бьюсь над проблемой давно, но чувствую, что ответ на поверхности - скорее всего в настройках авторизации или констант в файле /init.php (ключи и кеш). Суть проблемы: Переустановил форум. Точнее: Удалил форум (с бэкапом) Переустановил ОС на сервере Залил отбэкапенные файлы на субдомен (для последующей конвертации на вновь установленный форум) Установил форум заново 4.4.6 (той же версии, что и был) на прежний домен Конвертировал дынные с субдомена (прежний форум) на новый. Форум работает, как надо. Все, вроде, настроено. НО. Пользователи не могут войти в аккаунты. Появляется ошибка неверного логина и/или пароля. Чую, что надо как-то обновить кеш и/или ключи, или еще чего-то. Заставлять пользователей обновлять историю браузера и делать прочие манипуляции я не могу, да и не поможет (наверняка). Перечитал спецификацию по константам в /init.php, но как-то сыкотно. Помогите, пожалуйста.
Tony Опубликовано 5 февраля, 2021 Автор Опубликовано 5 февраля, 2021 Логи ошибок пусты (стоит 3 уровень логирования) Системный журнал: Скрытый текст
Sipsb Опубликовано 5 февраля, 2021 Опубликовано 5 февраля, 2021 Здравствуйте, если предоставите доступ могу посмотреть. p.s Почитайте правила 1.7, 1.8
qwert Опубликовано 5 февраля, 2021 Опубликовано 5 февраля, 2021 @Tony Проверь версии php, msql те же, что до переустановки?
Tony Опубликовано 5 февраля, 2021 Автор Опубликовано 5 февраля, 2021 Версии те же. Да и при новой установке IPS проблем с совместимостью окружения не было. Проблем с общей работой форумом сейчас также не наблюдается (кроме авторизации пользователей) Скрытый текст PHP требования PHP версия 7.2.34. fsockopen функция доступна Multibyte String расширение загружено DOM расширение загружено GD расширение загружено MySQLi расширение загружено OpenSSL расширение загружено Session расширение загружено SimpleXML расширение загружено XML расширение загружено XMLReader расширение загружено XMLWriter расширение загружено Phar расширение загружено Zip расширение загружено Exif расширение загружено Лимит памяти 128 МБ. Файловая система требования /home/admin/web/x-forum.su/public_html/applications доступна для записи /home/admin/web/x-forum.su/public_html/datastore доступна для записи /home/admin/web/x-forum.su/public_html/plugins доступна для записи /home/admin/web/x-forum.su/public_html/uploads доступна для записи /home/admin/web/x-forum.su/public_html/uploads/logs доступна для записи MySQL требования MySQL версия 5.5.68-MariaDB. Рекомендации У Вас не загружено PHP расширение cURL, или версия расширения ниже 7.36. Включение расширения cURL позволит установить более эффективные и надёжные соединения вашего сайта с другими сайтами. Системная переменная MySQL wait_timeout установлена в слишком низкое значение (10). Значение MySQL по умолчанию - 28800. Рекомендуется увеличить эту системную переменную MySQL хотя бы до 20, чтобы предотвратить возможные проблемы с таймингами запросов.
qwert Опубликовано 5 февраля, 2021 Опубликовано 5 февраля, 2021 Ты правила хорошо читал? Пробуй отключить все сторонние приложения, плагины, стили и проверь будет ли работать авторизация.
Sipsb Опубликовано 5 февраля, 2021 Опубликовано 5 февраля, 2021 @qwert Я сейчас до дома доеду посмотрю.
Tony Опубликовано 5 февраля, 2021 Автор Опубликовано 5 февраля, 2021 Сори за цитату... Тестировал сначала все на дефолте - без приложений, плагинов, стилей и т.п. Проблема возникла изначально. Думаю, что проблема именно в кешировании и в ключах. Не знаю только, как ее решить. Пытался использовать хешгенератор (hashgenerator), но в моем случае он не поможет.
qwert Опубликовано 5 февраля, 2021 Опубликовано 5 февраля, 2021 Проблем с кэшем не должно быть, тогда выскочил бы ряд других проблем. Смотри как почистить кэш в документации, может ещё что полезное найдёшь. Я попробовал зарегистрироваться «ййй» у тебя на сайте, регистрация прошла.
Tony Опубликовано 5 февраля, 2021 Автор Опубликовано 5 февраля, 2021 @qwert с регистрацией проблем нет) Проблема с авторизацией существующих пользователей. Сейчас почистил кэш - буду мониторить 1
Рекомендуемый комментарий Sipsb Опубликовано 5 февраля, 2021 Рекомендуемый комментарий Опубликовано 5 февраля, 2021 Проверка показала, что в БД у пользователей отсутствует members_pass_hash вывод очевиден, нет pass hash нет авторизации.
Tony Опубликовано 5 февраля, 2021 Автор Опубликовано 5 февраля, 2021 @Sipsb при конвертации, значит, это поле не добавляется (как бы и не должно). Как это исправить? Где-то видел формулу md5(name_base+pass_base) - не помню только для куда она. Поправьте, пожалуйста.
Sipsb Опубликовано 5 февраля, 2021 Опубликовано 5 февраля, 2021 Если делаете штатным конвертером, то проблем быть не должно, все данные пользователей сохраняются. Импортните пользователей на прямую с бэкапа в core_members В IPS 4.5 добавили настройку "Принудительный сброс пароля". В качестве альтернативы можно обновиться и сделать сброс. Скрытый текст
Tony Опубликовано 5 февраля, 2021 Автор Опубликовано 5 февраля, 2021 @Sipsb "Принудительный сброс" подразумевает удаление members_pass_hash?) Это поле и так пустое) Посмотрел сейчас бэкап БД (думал, может криво отбэкапилась с пустым полем members_hash) - там все на месте. Конвертировал штатным конвертором. Не знаю, почему так получилось? При чем я делал это ни один раз... Ща вручную быстренько обновлю пустые поля. Надеюсь поможет. Отпишусь о результатах.
Sipsb Опубликовано 5 февраля, 2021 Опубликовано 5 февраля, 2021 3 минуты назад, Tony сказал: "Принудительный сброс" подразумевает удаление members_pass_hash?) Точно не помню 3 минуты назад, Tony сказал: Ща вручную быстренько обновлю пустые поля. Рекомендую полностью core_members заменить из бэкапа.
Tony Опубликовано 5 февраля, 2021 Автор Опубликовано 5 февраля, 2021 @Sipsb Нельзя полностью заменить таблицу. При конвертации обновились id-ы. Если значение members_pass_hash зависит только от данных, введенных пользователем (пароль, ник, мыло и т.п.), то проблем не должно возникнуть, просто добавлю в пустые поля соответствующее значение. PS: вы знаете какая соль в хэшировании этого поля? (на будующее)
Решение Tony Опубликовано 5 февраля, 2021 Автор Решение Опубликовано 5 февраля, 2021 Добавил вручную соответствующие данные members_pass_hash от отбэкапенной БД. Вроде все заработало. Может пригодится, кому, кто будет самостоятельно добавлять из одной базы в другую: //$sql1 - база, КУДА надо добавить //$sql2 - бэкап база $z=$sql1->query("SELECT * FROM core_members WHERE members_pass_hash IS NULL"); if($z->num_rows!=0){ while($r=$z->fetch_array()){ $zz=$sql2->query("SELECT * FROM core_members WHERE email='".$r['email']."'"); if($zz->num_rows!=0){ $rr=$zz->fetch_array(); $sql1->query("UPDATE core_members SET members_pass_hash='".$rr['members_pass_hash']."' WHERE email='".$r['email']."'"); } } } PS: ОГРОМНЕЙШЕЕ ВАМ ЧЕЛОВЕЧЕСКОЕ СПАСИБО!!! 1 1
Рекомендуемые сообщения
Опубликовал Sipsb,
0 реакций
Открыть сообщение
Создайте учетную запись или войдите, чтобы комментировать
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти