Перейти к содержимому
Русский язык для Invision Community 5

Некоторые пользователи не могут залогиниться

Доброго дня!

 

Некоторые пользователи не могут войти на форум "Логин или пароль неверны." Даже после восстановления или замены пароля через админку не могут. Вроде проблему решил так: создал юзер2, сделал слияние с юзер, и переименовал обратно в юзер. Но сегодня у одного из пользователей, уже восстановленого таким образом, опять все слетело и не могу войти под его логином.

 

На всякий случай, что делалось с сайтом:

До первого появления проблемы — была попытка хака, положили скрипт в папку с профилями, форум упал, но я его восстановил удалением файла и обновил, так же обновление безопасности закинул.

 

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

 

Помогите пожалуйста решить проблему.

Рекомендованные сообщения

  • Автор

Переконвертировал все таблицы в utf8, скопировал значения как советовали выше. Но скопировал без функции LOWER. Все стало как нужно но естественно с заглавной буквы логины остались. Теперь если сделать выборку с LOWER то все квадратиками. Получается эта функция как-то портит или меняет кодировку. Уже не знаю что и придумать.

  • 3 года спустя...

Сделал, в точности как в этом посте, ничего не изменилось ((( Кодировка логина с кириллицей все равно не меняется :(

 

IPB 3.4.9.

 

373925d9ea12dd6618e9a5852f4643dd.png

На этом скрине никаких проблем с кодировкой нету. Значение из members_seo_name используется в url'е, поэтому не ascii символы кодируются. Туда смотреть не нужно.

 

В conf_global.php указана кодировка подключения к mysql серверу - sql_charset?

Ой, пропустил этот момент - прописал кодировку, заработало!!! Спасибо огромное!!!

 

Кстати, я посмотрел, как реализована поддержка русских логинов в русифицированном релизе IPB 3.4.6 от мафии - там strtolower во многих местах заменен на IPSText::mbstrtolower, и в таблице базы данных в поле "members_seo_name" используется транслит, вот, посмотрите:

 

http://i77.fastpic.ru/big/2016/0421/88/c0461bd9e82ef8c64f7e241176428588.png

 

Как они это реализовали?

и в таблице базы данных в поле "members_seo_name" используется транслит,

Это не поддержка русских логинов, а транслит имен используемых в url'ах. Никакое отношение к правильной работе логинов это не имеет. Значение имеет strtolower, которая является однобайтовой функции и при не правильной установки локали она не работает с кириллицей в utf8, поэтому ее заменяют на многобайтовый аналог mb_strtolower. В форуме для этого используется функция обертка IPSText::mbstrtolower.

Ого. А чтобы мне поддержку транслита добавить, вот этот хук подойдет?

http://ipbskins.ru/forum/topic11558.html

 

Вам просто огромнейшее спасибо за помощь!!! Жаль у меня на сегодня закончилась возможность повышения репы...

Да. Но у него к сожалению есть одна проблема, он не поддерживает sitemap.xml.

Ну ладно тогда, пока обойдусь без транслита :)

 

Вам еще раз просто огромное спасибо, выручили!

 

P.S. - а в релизе 3.4.6 от мафии, насколько я понял, этот хук вшит? Или там другой способ используется?

В локализациях от IBR транслитерация была встроенная.

Что-то совсем не отвязывается от меня эта проблема.. Обнаружил, что не работает поиск по логинам на кириллице через строку быстрого поиска (который в шапке форума), работает только через расширенный поиск :(

 

Все действия по модифицированию файлов из поста №11 сделаны в точности, проверил. Где закопана эта последняя (надеюсь) соб@ка?

Upd. - Прошу прощения за беспокойство. Оказывается, не работает в принципе этот самый быстрый поиск, логины тут ни при чем. Буду разбираться)

 

Хотя нет, действительно не работает поиск по пользователям на кириллице... По нику "Strategius" находит, а по "Инфобот", пишет - результатов нет...

Изменено пользователем benix97

Помогите решить эту проблему, пожалуйста... Всей душой надеюсь, что это последний косяк такой...

Вы собираетесь хостится на windows или основное место работы форума это локалхост? Ставьте на нормальном хостинге и установите правильную локаль для работы с utf-8.

Пока да, локалхост... - я просто сейчас еще только делаю форум, создаю стиль, настраиваю функционал и т.п. на домашнем компьютере, на нем Windows конечно...

 

Просто подумал, если поиск (строка поиска, которая наверху форума) работает сейчас только по латинским логинам, а с кириллицей нет, то может быть где-то еще "strtolower" на "mb_strtolower" нужно заменить?

P.S. - создал 2 тестовых пользователя - с латинским и русским логинами. Через быстрый поиск пользователь с латинским ником находится без проблем, а по запросу пользователя с русским ником выдает 0 результатов поиска...

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

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.