Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Помогите разобрать пароль

Опубликовано:

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

 

Помогите разобрать шифровку пароля IPB 3.3.4

 

 

members_pass_salt - Это рандомный соль. (Ясно)

members_pass_hash - это пароль и соль вместе схешшированные то есть md5(md5(salt).md5(pass))(Ясно)

member_login_key - а тут не понимаю как и что (Не понятно это как создается)

 

 

ps: я хочу переделать регистрацию а не взламывать.

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

Опубликовано:
  • Автор

member_login_key - ключ авторизации. Шифрование session_id [iPB 3.3]

Что то я не понял а сессия авторизации зачем ?

 

 

member_login_key - ключ авторизации.

Это я понял только как он шифруется что с чем это не понял.

Опубликовано:

Это я понял только как он шифруется что с чем это не понял.

member_login_key генерируется как:

md5(IPSMember::generatePasswordSalt(60));

Открываем класс IPSMember (/admin/sources/base/ipsMember.php), находим метод generatePasswordSalt и смотрим что с чем шифруется.

Опубликовано:
  • Автор

Открываем класс IPSMember (/admin/sources/base/ipsMember.php), находим метод generatePasswordSalt и смотрим что с чем шифруется.

 

Если бы я там что то бы понимал было бы наверно здорово.

 

А без ipsMember.php можно как то создать пароль member_login_key ?

 

Я хочу сделать так что можно было регистрироваться не с форума. Все отлично пока получается members_pass_salt и members_pass_hash создать могу а как создать member_login_key ?

Опубликовано:

Если бы я там что то бы понимал было бы наверно здорово.

А как же вы собираетесь изменить систему регистрации если в этом не понимаете?

 

А без ipsMember.php можно как то создать пароль member_login_key ?

Можно. member_login_key это генерируемый рэндомный ключ.

 

Я хочу сделать так что можно было регистрироваться не с форума. Все отлично пока получается members_pass_salt и members_pass_hash создать могу а как создать member_login_key ?

Чтобы регистрироваться не с форума надо апдейтить три таблицы и еще куча моментов, что мешает уже воспользоваться апи форума?

Опубликовано:
  • Автор

Ну я не силен в IPB и php не буду это скрывать.

Но я знаю многое о MySQL. И по этому Mysql и хочу создавать аккаунты.

 

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

 

1) members_pass_salt

2) members_pass_hash

3) member_login_key (тут проблемы возникли)

 

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

 

 

ps: возможно я ошибаюсь думая что нужно создать всего один столбик в "members" подправьте в этом случае.

Опубликовано:

Для того чтобы создать аккаунт нужно:

 

1) Проверить уникальность имя и емайла пользователя

2) Сделать валидацию имя, емайла и других введенных от пользователя данных

3) Сгенерировать хеш пароля. member_login_key кстати не обязательно генерировать при регистрации, он создаться сам при первом входе на форуме.

4) Внести пользователя в таблице ibf_members и получить сгенерированный mysql-ям id (если вы многое знаете о mysql должны знать что это такое)

5) Создать записи в двух связанных таблицах (связь member_id полученный на предыдущем шаге) ibf_pfields_content и ibf_profile_portal со всеми необходимыми данными.

Опубликовано:
  • Автор

Для того чтобы создать аккаунт нужно:

 

1) Проверить уникальность имя и емайла пользователя

2) Сделать валидацию имя, емайла и других введенных от пользователя данных

3) Сгенерировать хеш пароля. member_login_key кстати не обязательно генерировать при регистрации, он создаться сам при первом входе на форуме.

4) Внести пользователя в таблице ibf_members и получить сгенерированный mysql-ям id (если вы многое знаете о mysql должны знать что это такое)

5) Создать записи в двух связанных таблицах (связь member_id полученный на предыдущем шаге) ibf_pfields_content и ibf_profile_portal со всеми необходимыми данными.

 

 

1) Проверяет все отлично (я так понял занят ник или нет тоже самое с mail).

2) Тоже норм

3) members_pass_salt и members_pass_hash все генерируется все отлично тоже.

4) Записываю в таблицу members все записывается(таблицу ibf_members не нашел.)

Записываю Эти данные:

 

(прошу подправить если некоторые не нужные я взял)

INSERT INTO `members` (`name`, `member_group_id`, `email`, `joined`, `ip_address`, `member_login_key`, `members_display_name`, `members_seo_name`, `members_l_display_name`, `members_l_username`, `members_pass_hash`, `members_pass_salt`, `members_uid`)

 

 

** Получить сгенерированный mysql-ям id это я так понял "member_id AUTO_INCREMENT" ?

 

5) не понял что тут надо делать таблицы pfields_content profile_portal нашел там мне ничего не понятно что там нужно создать ?

Опубликовано:

таблицу ibf_members не нашел.

ibf_ это префикс.

 

Получить сгенерированный mysql-ям id это я так понял "member_id AUTO_INCREMENT"

Да, last insert id.

 

не понял что тут надо делать таблицы pfields_content profile_portal нашел там мне ничего не понятно что там нужно создать ?

Делать по аналогии с остальными записями из этих таблиц.

Опубликовано:
  • Автор

ibf_ это префикс.

 

 

Да, last insert id.

 

 

Делать по аналогии с остальными записями из этих таблиц.

 

А получается pfields_content и profile_portal создать с (member_id AUTO_INCREMENT) то есть создать в pfields_content простую таблицу с id'ом

который создается в members ?

 

А вот тут убирать ненужные какие надо подскажите:

 

INSERT INTO `members` (`name`, `member_group_id`, `email`, `joined`, `ip_address`, `member_login_key`, `members_display_name`, `members_seo_name`, `members_l_display_name`, `members_l_username`, `members_pass_hash`, `members_pass_salt`, `members_uid`)  

 

И еще pfields_content и profile_portal тут нужно только создать и привязать к ним id с members, а в других столбцах оставить По умолчанию NULL ?

Опубликовано:
  • Автор

Спасибо Вам все получилось но есть проблемка.

 

Я задействовал 3 таблицы это:

 

- INSERT INTO `pfields_content` (`member_id`) VALUES ('40')

- INSERT INTO `profile_portal` (`pp_member_id`) VALUES ('40')

-

INSERT INTO `members` (`name`, `member_group_id`, `email`, `joined`, `ip_address`, `members_display_name`, `members_seo_name`, `members_l_display_name`, `members_l_username`, `members_pass_hash`, `members_pass_salt`, `members_uid`

 

Проблема в том что у меня зарегистрировалось 6 пользователей а тут:

 

всего показывает 5 и Новый пользователя нету стоит старый как это исправить ?

 

Может я где то что то забыл ?

Прошу помочь!

Опубликовано:

Нужно перестроить статистику.

Опубликовано:
  • Автор

Нужно перестроить статистику.

 

А как это сделать, со стороны mysql бд возможно так или это форума касается ?

 

ps: если возможно можно узнать как ?

Опубликовано:

Статистика это сереализованный массив stats в таблице кеша ibf_cache_store

Опубликовано:
  • Автор

Статистика это сереализованный массив stats в таблице кеша ibf_cache_store

 

cs_key

cs_value

cs_array

cs_updated

cs_rebuild

 

Что в данных таблицах писать ? и за что какая из них отвечает ?

 

ps: регистрация у меня буз участия форума то есть из вне.

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

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.