klas 0 02/06/13 17:12 Здравствуйте! Помогите разобрать шифровку пароля IPB 3.3.4 members_pass_salt - Это рандомный соль. (Ясно) members_pass_hash - это пароль и соль вместе схешшированные то есть md5(md5(salt).md5(pass))(Ясно) member_login_key - а тут не понимаю как и что (Не понятно это как создается) ps: я хочу переделать регистрацию а не взламывать. Поделиться сообщением Ссылка на сообщение
siv1987 2628 02/06/13 17:15 member_login_key - ключ авторизации. Шифрование session_id [iPB 3.3] Поделиться сообщением Ссылка на сообщение
klas 0 02/06/13 17:23 member_login_key - ключ авторизации. Шифрование session_id [iPB 3.3]Что то я не понял а сессия авторизации зачем ? member_login_key - ключ авторизации.Это я понял только как он шифруется что с чем это не понял. Поделиться сообщением Ссылка на сообщение
siv1987 2628 02/06/13 17:45 Это я понял только как он шифруется что с чем это не понял.member_login_key генерируется как: md5(IPSMember::generatePasswordSalt(60));Открываем класс IPSMember (/admin/sources/base/ipsMember.php), находим метод generatePasswordSalt и смотрим что с чем шифруется. Поделиться сообщением Ссылка на сообщение
klas 0 02/06/13 18:06 Открываем класс IPSMember (/admin/sources/base/ipsMember.php), находим метод generatePasswordSalt и смотрим что с чем шифруется. Если бы я там что то бы понимал было бы наверно здорово. А без ipsMember.php можно как то создать пароль member_login_key ? Я хочу сделать так что можно было регистрироваться не с форума. Все отлично пока получается members_pass_salt и members_pass_hash создать могу а как создать member_login_key ? Поделиться сообщением Ссылка на сообщение
siv1987 2628 02/06/13 18:14 Если бы я там что то бы понимал было бы наверно здорово.А как же вы собираетесь изменить систему регистрации если в этом не понимаете? А без ipsMember.php можно как то создать пароль member_login_key ?Можно. member_login_key это генерируемый рэндомный ключ. Я хочу сделать так что можно было регистрироваться не с форума. Все отлично пока получается members_pass_salt и members_pass_hash создать могу а как создать member_login_key ?Чтобы регистрироваться не с форума надо апдейтить три таблицы и еще куча моментов, что мешает уже воспользоваться апи форума? Поделиться сообщением Ссылка на сообщение
klas 0 02/06/13 18:22 Ну я не силен в IPB и php не буду это скрывать.Но я знаю многое о MySQL. И по этому Mysql и хочу создавать аккаунты. Насколько я понял для того чтобы регистрировать аккаунт нужно создать: 1) members_pass_salt 2) members_pass_hash 3) member_login_key (тут проблемы возникли) Как бы аккаунт создается и все отлично только войти в этот аккаунт я не могу так как не могу никак понять как member_login_key сделать пароль. ps: возможно я ошибаюсь думая что нужно создать всего один столбик в "members" подправьте в этом случае. Поделиться сообщением Ссылка на сообщение
siv1987 2628 02/06/13 18:47 Для того чтобы создать аккаунт нужно: 1) Проверить уникальность имя и емайла пользователя2) Сделать валидацию имя, емайла и других введенных от пользователя данных3) Сгенерировать хеш пароля. member_login_key кстати не обязательно генерировать при регистрации, он создаться сам при первом входе на форуме.4) Внести пользователя в таблице ibf_members и получить сгенерированный mysql-ям id (если вы многое знаете о mysql должны знать что это такое)5) Создать записи в двух связанных таблицах (связь member_id полученный на предыдущем шаге) ibf_pfields_content и ibf_profile_portal со всеми необходимыми данными. Поделиться сообщением Ссылка на сообщение
klas 0 02/06/13 19:00 Для того чтобы создать аккаунт нужно: 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 нашел там мне ничего не понятно что там нужно создать ? Поделиться сообщением Ссылка на сообщение
siv1987 2628 02/06/13 19:13 таблицу ibf_members не нашел.ibf_ это префикс. Получить сгенерированный mysql-ям id это я так понял "member_id AUTO_INCREMENT"Да, last insert id. не понял что тут надо делать таблицы pfields_content profile_portal нашел там мне ничего не понятно что там нужно создать ?Делать по аналогии с остальными записями из этих таблиц. Поделиться сообщением Ссылка на сообщение
klas 0 02/06/13 19:22 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 ? Поделиться сообщением Ссылка на сообщение
klas 0 02/08/13 00:06 Спасибо Вам все получилось но есть проблемка. Я задействовал 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 и Новый пользователя нету стоит старый как это исправить ? Может я где то что то забыл ?Прошу помочь! Поделиться сообщением Ссылка на сообщение
klas 0 02/09/13 04:23 Нужно перестроить статистику. А как это сделать, со стороны mysql бд возможно так или это форума касается ? ps: если возможно можно узнать как ? Поделиться сообщением Ссылка на сообщение
siv1987 2628 02/09/13 06:35 Статистика это сереализованный массив stats в таблице кеша ibf_cache_store Поделиться сообщением Ссылка на сообщение