Перейти к контенту
  • 0

Проблемы с авторизацией.


Septerrianin

Вопрос

Давняя проблема и здесь она когда-то уже описывалась.

Вот только ответов в ней не было, а найти сейчас её не смог.

В ваш FAQ можете тоже не отправлять. В тамошней теме кроме кукисов - никаких проблем и не рассматривается.

 

Вопрос вот в чём:

конкретный пользователь не может зайти под своим логином и своим паролем.

 

Сразу скажу:

причина не в кукисах и не в русских символах.

 

Проблема в давнем глюке версии 2.0.

Такое иногда случалось и решалось это заведением нового пользователя и переносом ему id и всех прибамбасов от старого пользователя.

 

Глюк возникает после попытки присвоения одному из пользователей существующего адреса e-mail через админку.

 

Админка вопит, что адрес надо поменять, так как такой уже есть.

Но сама этот адрес всё-таки присваивает.

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

Причём ни смена ника, ни смена пароля не помогают.

 

Где это копать? Как исправить?

А самое главное - как от этого защититься на будущее?

Изменено пользователем Septerrianin
Ссылка на комментарий
Поделиться на других сайтах

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

  • 0

Тоже поймал такой же глюк. Ищу способы борьбы :D

 

Разрулил так: (спасибо ребятам в соседнем топе)

Давишь обоих юзеров. Патом вручную регишь нового и меяешь ему ID например я менял с 117 на 2.

Префиксы таблиц тоже проверь, они у тебя могут отличаться ;) Это дефолтные.

00:22:24 Обновляем ibf_members.id (прежний ID: 5; новый ID: 1802)...
00:22:24 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_members SET id='1802' WHERE id='5'
00:22:24 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_admin_logs SET member_id='1802' WHERE member_id='5'
00:22:24 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_announcements SET announce_member_id='1802' WHERE announce_member_id='5'
00:22:24 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_attachments SET attach_member_id='1802' WHERE attach_member_id='5'
00:22:24 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_calendar_events SET userid='1802' WHERE userid='5'
00:22:24 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_contacts SET member_id='1802' WHERE member_id='5'
00:22:24 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_contacts SET contact_id='1802' WHERE contact_id='5'
00:22:24 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_email_logs SET from_member_id='1802' WHERE from_member_id='5'
00:22:24 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_email_logs SET to_member_id='1802' WHERE to_member_id='5'
00:22:24 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_forum_tracker SET member_id='1802' WHERE member_id='5'
00:22:24 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_forums SET last_poster_id='1802' WHERE last_poster_id='5'
00:22:24 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_member_extra SET id='1802' WHERE id='5'
00:22:24 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_members_converge SET converge_id='1802' WHERE converge_id='5'
00:22:24 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_message_topics SET mt_from_id='1802' WHERE mt_from_id='5'
00:22:24 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_message_topics SET mt_to_id='1802' WHERE mt_to_id='5'
00:22:24 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_message_topics SET mt_owner_id='1802' WHERE mt_owner_id='5'
00:22:24 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_moderator_logs SET member_id='1802' WHERE member_id='5'
00:22:24 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_moderators SET member_id='1802' WHERE member_id='5'
00:22:24 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_pfields_content SET member_id='1802' WHERE member_id='5'
00:22:24 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_polls SET starter_id='1802' WHERE starter_id='5'
00:22:24 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_posts SET author_id='1802' WHERE author_id='5'
00:22:25 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_topics SET starter_id='1802' WHERE starter_id='5'
00:22:25 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_topics SET last_poster_id='1802' WHERE last_poster_id='5'
00:22:25 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_topics_read SET read_mid='1802' WHERE read_mid='5'
00:22:25 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_tracker SET member_id='1802' WHERE member_id='5'
00:22:25 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_voters SET member_id='1802' WHERE member_id='5'
00:22:25 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_warn_logs SET wlog_mid='1802' WHERE wlog_mid='5'
00:22:25 [SQL-ЗАПРОС на localhost.db2] UPDATE ibf_warn_logs SET wlog_addedby='1802' WHERE wlog_addedby='5'
00:22:25 Успешно!

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Да, именно так мы проблему и решаем всё это время...

Но ведь согласитесь, геморно после каждого такого глюка проводить столько действий...

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

Было бы чуть больше времени - занялся бы экспериментами...

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Н дык запихнуть в скрипт, чуть трабл - жмём кнопку "фиксить", и всё.

И по каждому глюку писать охрененный скрипт, чтобы этот глюк фиксить?

Вот ещё.

 

 

Ко всем.

Проблему удалось полностью решить следующим образом:

 

Лезем в админку, ищем там пользователя, у которого глюки после смены мыла.

Смотрим, какой у него емэйл там прописан.

 

Затем лезем в таблицу ibf_members_converge, находим там пользователя и вписываем в поле converge_email этот адрес.

 

После этого пользователям удаётся зайти без проблем.

 

 

Другими словами нужно сравнять записи email в таблице ibf_members с записями converge_email в таблице ibf_members_converge для пользователя с глюками.

 

Запрос, вроде как такой (если напишу с глюками, сильно не пинайте, а просто поправьте, голова с утра не соображает :D ):

update ibf_members_converge, ibf_members set ibf_members_converge.converge_email = ibf_members.email where ibf_members.id=ibf_members_converge.converge_id and ibf_members.id=<номер пользователя>

 

По крайней мере на нашем форуме у всех пользователей данная проблема решилась именно так.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.