Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
klas

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

Recommended Posts

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

 

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

 

 

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

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

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

 

 

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

Share this post


Link to post
Share on other sites

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

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

 

 

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

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

Share this post


Link to post
Share on other sites

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

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

md5(IPSMember::generatePasswordSalt(60));

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

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

 

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

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

 

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

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

Share this post


Link to post
Share on other sites

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

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

 

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

 

1) members_pass_salt

2) members_pass_hash

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

 

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

 

 

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

Share this post


Link to post
Share on other sites

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

 

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

 

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 нашел там мне ничего не понятно что там нужно создать ?

Share this post


Link to post
Share on other sites

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

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

 

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

Да, last insert id.

 

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

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

Share this post


Link to post
Share on other sites

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 ?

Share this post


Link to post
Share on other sites

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

 

Я задействовал 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 и Новый пользователя нету стоит старый как это исправить ?

 

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...