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

Никто не может зайти под своим аккаунтом


deLight

Вопрос

Здравствуйте!

 

На моем портале, имееться форум. Стоит DLE 4.5, форум - 2.1.6 и двухсторонняя интеграция между движками (регистрируешься на сайте и + учетка на форум).

 

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

 

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

 

Подозрения

 

1) md5, не работает проверка пароля, не может сверить введенный пароль, перекодировать и сравнить с тем что в базе

2) ...

 

Очень надеюсь на Вашу помощь.

 

С Уважением, Роман!

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

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

  • 0

В настройках форума вход по мылу не врубал?

 

весь бекап не нужен нужны только таблицы по пользователям не более

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

  • 0
В настройках форума вход по мылу не врубал?

не врубал, даже в админку не пускает

весь бекап не нужен нужны только таблицы по пользователям не более

это не более, обойдеться форуму в 30 000 учеток так точно...

 

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

наверно что-то из особенностей таблиц members, members_extra, members_converge.

префикс юзаю один для движка и форума.

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

  • 0

Не пускает если сделал выход (логаут), а по кукам сидят многие :D

А как посмотреть логи, если имеются\ведуться таковые по IPB?

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

  • 0

значит неправильно настройки для куков прописаны

 

форум висит на поддомене или на отдельном домене?

 

покажи настройки куков (см. в настройках форума) можешь сюда

можешь мне в Пм

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

  • 0

форум висит в отдельной папке /forum/

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

вы считаете проблема в настройках куков? и несколько лет было все нормально и тут с ничего, настройки куков сами по себе изменились (никто не менял ничего)?

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

  • 0

Разворачивать проблему надо со стороны ошибки на форуме.

 

Приблизительно так:

1. Получили ошибку на форуме

2. Нашли данную ошибку в ленгах форума. Фраза будет соответствовать имени "переменной", т.е. 'переменная' => 'фраза',

3. По найденной переменной снова ищем вхождения в файлы. Так как процесс авторизации из формы, то оставляем только файлы относящиеся к логину (имеют слово login в своем названии)

3.1. Оригиналы всех этих файлов не плохо было бы сохранить и не трогать.

4. Как правило сообщения об ошибках заворачивают в логические конструкции if. Вот в блоке if перед тем как вызывается функция с сообщением об ошибке, необходимо поставить echo "debug №х";

5. Повторять шаги 3,4 пока все вхождения не будут помечены.

6. Залить на сервер, попробовать авторизоваться. Получить debug № 5 (например).

7. Найти где стоит echo "debug № 5".

8. Проанализировать условие if. А именно операнды в условии.

9. Попробовать вывести данные операнды перед блоком if. Например с помощью print_r

10. Проанализировать увиденное. Попробовать понять что с ним не так.

11. Если понял что с ним что-то не так, надо найти место где оно портится. Делается это тупым выставлением print_r данного на всем пути его жизни. Т.е. от момента его первого появления, до места ошибки.

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

  • 0

до куков можно по другому добратся

открой файлик conf_global.php

 

и там найди

$INFO['cookie_domain']

$INFO['cookie_id']

$INFO['cookie_path']

 

и покажи что там написано

 

я могу только предполагать т.к. ни ваш форум ни ваш глюк сам не лицезрею

 

 

Мммм... до админ панели доступа нет... очень интересно...

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

  • 0
Разворачивать проблему надо со стороны ошибки на форуме.

 

Приблизительно так:

1. Получили ошибку на форуме

2. Нашли данную ошибку в ленгах форума. Фраза будет соответствовать имени "переменной", т.е. 'переменная' => 'фраза',

3. По найденной переменной снова ищем вхождения в файлы. Так как процесс авторизации из формы, то оставляем только файлы относящиеся к логину (имеют слово login в своем названии)

3.1. Оригиналы всех этих файлов не плохо было бы сохранить и не трогать.

4. Как правило сообщения об ошибках заворачивают в логические конструкции if. Вот в блоке if перед тем как вызывается функция с сообщением об ошибке, необходимо поставить echo "debug №х";

5. Повторять шаги 3,4 пока все вхождения не будут помечены.

6. Залить на сервер, попробовать авторизоваться. Получить debug № 5 (например).

7. Найти где стоит echo "debug № 5".

8. Проанализировать условие if. А именно операнды в условии.

9. Попробовать вывести данные операнды перед блоком if. Например с помощью print_r

10. Проанализировать увиденное. Попробовать понять что с ним не так.

11. Если понял что с ним что-то не так, надо найти место где оно портится. Делается это тупым выставлением print_r данного на всем пути его жизни. Т.е. от момента его первого появления, до места ошибки.

 

проблема не в коде

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

  • 0
xRay, в 2.1 они уже сидят в БД. К тому же если бы куки не сохоранялись, то форум бы цеплял после логина пользователя по сессии в урле. Так что как автор не противится, но проблема в коде. Нужно как минимум посмотреть что за интеграция. Учитывая что известные мне интеграции ДЛЕ и ИПБ платные и под Зендом не исключены и финты в коде :D
Ссылка на комментарий
Поделиться на других сайтах

  • 0
проблема не в коде

Кто сказал что она в коде?!?

 

Что бы понять почему юзер не логинится, надо понять а по какому критерию система его считает "не правильным". Вот те 10 шагов как раз для этого.

 

11 шаг для любителей трассировать скрипты =)))

 

Сидеть с идеей это база, а не код вообще глупо логически. Давай подумаем откуда данные появляются в базе? Правильно благодаря программе. Теперь вопрос чуть сложнее - кто может менять эти данные в базе? Опять же программа. Могут ли изменения вносимые одной программой быть не поняты другой? Ответ оставлю на подумать.

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

  • 0
Мммм... до админ панели доступа нет... очень интересно...

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

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

  • 0
я просто сам описать не смогу, вот и прошу помочь

Тогда нужно вопрос сразу нужно ставить в другой плоскости: "кто может глянуть на мой скрипт интеграции, проверить его и исправить". Такие вещи телепатически не делаются, нужно как минимум видеть ваши файлы, а желательно также и иметь возможность изменять.

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

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

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

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

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

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

сделал бэкап 10 строк таблицы members_converge и все понял...

 

(10, 'eney15@mail.ru', 0, '2c86ae6e106d4c6867af3fa5fd153fce', ''),

(12, 'eney15@mail.ru', 0, '2c86ae6e106d4c6867af3fa5fd153fce', ''),

(13, 'eney15@mail.ru', 0, '2c86ae6e106d4c6867af3fa5fd153fce', ''),

(15, 'eney15@mail.ru', 0, '2c86ae6e106d4c6867af3fa5fd153fce', ''),

(14, 'eney15@mail.ru', 0, '2c86ae6e106d4c6867af3fa5fd153fce', ''),

(16, 'eney15@mail.ru', 0, '2c86ae6e106d4c6867af3fa5fd153fce', ''),

(17, 'eney15@mail.ru', 0, '2c86ae6e106d4c6867af3fa5fd153fce', ''),

(18, 'eney15@mail.ru', 0, '2c86ae6e106d4c6867af3fa5fd153fce', ''),

(20, 'eney15@mail.ru', 0, '2c86ae6e106d4c6867af3fa5fd153fce', ''),

....

(118019, 'eney15@mail.ru', 1196230676, '2c86ae6e106d4c6867af3fa5fd153fce', ''), - юзер на котором и произошел баг

(118020, 'xx@mail.ru', 1196230676, 'xxxxx', ''), - дальше пошли норм юзеры до 129 000.

 

баг наступил почти месяц назад, с момента как он наступил все кто регились. могли опять и заходить и выходить т.к. они в базе нормально записывались... а сам баг сделал в таблице members_converge (там де хешы и сальты) что с 1 юзера по то число на котором настал баг, оно 118019. ВСЕ ИМЕЮТ ОДИН ХЕШ И ОДНО МЫЛО.

 

Интересно как так получилось что юзер один залил собой весь ряд от 1 до 118к.

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

  • 0

deLight

я у тебя зарегался захожу, выхожу все ОК

 

я маг чтоли? :D

 

проблема с входом, выходом у всех поголовно или нет?

 

думаю почему в админку может не пускать...

там-то по другому

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

  • 0
deLight

я у тебя зарегался захожу, выхожу все ОК

 

я маг чтоли? :D

 

проблема с входом, выходом у всех поголовно или нет?

 

думаю почему в админку может не пускать...

там-то по другому

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

т.е все 118к юзеров стали иметь один и тотже хеш, а сальта вообще '' ;)

а те кто после 118к, нормально заходят и выходят.

 

вообщем буду клеить две таблицы (дамп) с этой поврежденной и заливать, все ровно где-то 10-15к юзеров на форуме так и не смогут зайти на него.

 

не пойму как это именно этим юзером залило все 118к рядков, что за глюк такой???

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

  • 0

ну хеш зависит от пароля сальта и мыла (если я ща в 3-ем часму ночи не гребу)

 

баг может закопан в интеграции ДЛЕ и ИПБ

Интеграция как мод написана через modules/ipb_member_sync.php ? или по другому?

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

  • 0

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

 

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

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

  • 0
В качестве безумного предположения: проверьте функции смены почтового адреса и пароля. Везде, где это возможно.

 

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

таких было два юзера, т.к это уже второй сбой.

интересно, как проверить эти функции, взять сделать дамп, зарегать юзера, попробовать разные функции, которые доступны любому юзеру и на котором все полетит, ту и чинить? :D)

извините, утро, голова плохо варит

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

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

  • 0
Разворачивать проблему надо со стороны ошибки на форуме.

 

Приблизительно так:

1. Получили ошибку на форуме

2. Нашли данную ошибку в ленгах форума. Фраза будет соответствовать имени "переменной", т.е. 'переменная' => 'фраза',

3. По найденной переменной снова ищем вхождения в файлы. Так как процесс авторизации из формы, то оставляем только файлы относящиеся к логину (имеют слово login в своем названии)

3.1. Оригиналы всех этих файлов не плохо было бы сохранить и не трогать.

4. Как правило сообщения об ошибках заворачивают в логические конструкции if. Вот в блоке if перед тем как вызывается функция с сообщением об ошибке, необходимо поставить echo "debug №х";

5. Повторять шаги 3,4 пока все вхождения не будут помечены.

6. Залить на сервер, попробовать авторизоваться. Получить debug № 5 (например).

7. Найти где стоит echo "debug № 5".

8. Проанализировать условие if. А именно операнды в условии.

9. Попробовать вывести данные операнды перед блоком if. Например с помощью print_r

10. Проанализировать увиденное. Попробовать понять что с ним не так.

11. Если понял что с ним что-то не так, надо найти место где оно портится. Делается это тупым выставлением print_r данного на всем пути его жизни. Т.е. от момента его первого появления, до места ошибки.

 

ммм...

явно != http://www.ibresource.ru/forums/blog/arhar...=116#comment354

 

 

а насчет интеграции, форум обновлялся ПОСЛЕ установки интеграции?

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

  • 0

проблему решил. все работает. но без потерь не обошлось, 10к юзерам надо будет перегистрироваться.

 

спасибо всем за потраченное время

спасибо всем за желание помочь

спасибо форуму IPB за то, что он есть

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

  • 0

deLight

Ну дык в чем проблема-то была? где баг закрался? в интеграции?

 

Arhar

не тот метод сюда не катит у него ошибки же не возникает

т.е. это во внутреностях

хотя стек вызова полезен не только когда ты уже видешь что ошибка есть

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

  • 0
deLight

Ну дык в чем проблема-то была? где баг закрался? в интеграции?

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

поставить на висту денвер, тоже не получается, не сталкивался кто?

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

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

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

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

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

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

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

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

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