Замена встроенного хэширования пароля
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
tiberinx
- phpBB 1.2.0
- Сообщения: 10
- Стаж: 16 лет 11 месяцев
- Откуда: Ош
Замена встроенного хэширования пароля
Добрый день! Буду краток.
Мне для организации дистанционного обучения необъходимы на данный момент три продукта.
1)Moodle
2)phpBB 3.04
3)база данных студентов универа
с Moodle я разобрался, там можно сделать авторизацию через phpBB3.
Потом встал вопрос в совмещении базы студентов и базы phpBB. Есть программа, написанная на Delphi, которая назначает студентам из базы конкретные логины и пароли. Т.е. с помощью этой же программы можно будет увидеть данные студента, находящиеся под выбранным логином. Пароли в базе студентов изначально не хешировались. Потому я сначала пытался убрать хеширование в phpBB, но многонедельные попытки завершались белым экраном. Если гора не идет к Магомеду, то Магомед идет к горе
Значит мне придется также хешировать пароли из БД студентов, как это делают скрипты в phpBB3
и вот вопрос
получтся ли у меня схема
БД студентов(логин\пароль) ----> (хеширование)----->(MSSQL/Databases/forum/dbo.phpBB_users)
чтобы потом при авторизации на форуме выходило true
если да, то помогите немножко, пожалуйста, мне нужна подсказка
Мне для организации дистанционного обучения необъходимы на данный момент три продукта.
1)Moodle
2)phpBB 3.04
3)база данных студентов универа
с Moodle я разобрался, там можно сделать авторизацию через phpBB3.
Потом встал вопрос в совмещении базы студентов и базы phpBB. Есть программа, написанная на Delphi, которая назначает студентам из базы конкретные логины и пароли. Т.е. с помощью этой же программы можно будет увидеть данные студента, находящиеся под выбранным логином. Пароли в базе студентов изначально не хешировались. Потому я сначала пытался убрать хеширование в phpBB, но многонедельные попытки завершались белым экраном. Если гора не идет к Магомеду, то Магомед идет к горе
Значит мне придется также хешировать пароли из БД студентов, как это делают скрипты в phpBB3
и вот вопрос
получтся ли у меня схема
БД студентов(логин\пароль) ----> (хеширование)----->(MSSQL/Databases/forum/dbo.phpBB_users)
чтобы потом при авторизации на форуме выходило true
если да, то помогите немножко, пожалуйста, мне нужна подсказка
-
rxu
- phpBB Guru

- Сообщения: 17270
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 632 раза
- Поблагодарили: 2412 раз
Re: Мой проект
tiberinx
Из includes/functions.php берете phpbb_hash и phpbb_check_hash. Собственно, и всё.
Из includes/functions.php берете phpbb_hash и phpbb_check_hash. Собственно, и всё.
-
tiberinx
- phpBB 1.2.0
- Сообщения: 10
- Стаж: 16 лет 11 месяцев
- Откуда: Ош
-
rxu
- phpBB Guru

- Сообщения: 17270
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 632 раза
- Поблагодарили: 2412 раз
Re: Мой проект
Не понял двух моментов:
1) Почему 3.04, а не последняя версия?
2) В чем проблема убрать хэширование? Идёте в includes/auth/auth_db.php например, и заменяете проверку phpbb_check_hash на что угодно.
В других местах она вас не интересует, т.к. конференция не конвертированная из phpBB2.
1) Почему 3.04, а не последняя версия?
2) В чем проблема убрать хэширование? Идёте в includes/auth/auth_db.php например, и заменяете проверку phpbb_check_hash на что угодно.
Код: Выделить всё
// Check password ...
if (!$row['user_pass_convert'] && phpbb_check_hash($password, $row['user_password']))-
tiberinx
- phpBB 1.2.0
- Сообщения: 10
- Стаж: 16 лет 11 месяцев
- Откуда: Ош
Re: Мой проект
Еще когда-то скачал, потом поставил на MS SQL 2003. В АЦ не требовал обновления, вот поэтому и не обновляюrxu писал(а):Не понял двух моментов:
1) Почему 3.04, а не последняя версия?
Заменил на2) В чем проблема убрать хэширование? Идёте в includes/auth/auth_db.php например, и заменяете проверку phpbb_check_hash на что угодно.
Код: Выделить всё
// Check password ...
if (!$row['user_pass_convert'] && phpbb($password, $row['user_password']))Добавлено спустя 48 минут 36 секунд:
Также попробовал изменить схожую строку в functions.php
Но хеширование осталось
-
rxu
- phpBB Guru

- Сообщения: 17270
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 632 раза
- Поблагодарили: 2412 раз
Re: Мой проект
tiberinx
Вы вроде только подсказку просили
Подсказываю: поиск имени функции по файлам рулит.
При создании нового пользователя, в includes/ucp/ucp_register.php
Вы вроде только подсказку просили
Подсказываю: поиск имени функции по файлам рулит.
При создании нового пользователя, в includes/ucp/ucp_register.php
Код: Выделить всё
'user_password' => phpbb_hash($data['new_password']),-
tiberinx
- phpBB 1.2.0
- Сообщения: 10
- Стаж: 16 лет 11 месяцев
- Откуда: Ош
Re: Мой проект
А извиняюсь. Вы мне подсказали, а мне показалось, что указали. Начал действовать :lol:
Добавлено спустя 19 минут 47 секунд:
Спасибо Вам, товарищ, большое !!!
Добавлено спустя 47 минут 2 секунды:
Re: Замена встроенного хэширования пароля
Однако одна загвоздка. В базе пароли уже не хешируются. Регистрация проходит, но когда я хочу войти, то выходит белый экран.
Добавлено спустя 19 минут 47 секунд:
Спасибо Вам, товарищ, большое !!!
Добавлено спустя 47 минут 2 секунды:
Re: Замена встроенного хэширования пароля
Однако одна загвоздка. В базе пароли уже не хешируются. Регистрация проходит, но когда я хочу войти, то выходит белый экран.
-
rxu
- phpBB Guru

- Сообщения: 17270
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 632 раза
- Поблагодарили: 2412 раз
Re: Замена встроенного хэширования пароля
Смотрите еррор_лог сервера.
Добавлено спустя 58 минут 23 секунды:
tiberinx
Отвечайте в теме, а не в ЛС.
Я не очень хорошо знаком с IIS, поэтому искать, куда этот сервер пишет лог ошибок, придется вам самому
Добавлено спустя 58 минут 23 секунды:
tiberinx
Отвечайте в теме, а не в ЛС.
Я не очень хорошо знаком с IIS, поэтому искать, куда этот сервер пишет лог ошибок, придется вам самому
-
tiberinx
- phpBB 1.2.0
- Сообщения: 10
- Стаж: 16 лет 11 месяцев
- Откуда: Ош
Re: Замена встроенного хэширования пароля
Лог пока не нашел, расскажу так.
После изменения и в файле function.php перестает работать регистрация. Однако заменив строку в файле ucp_register.php
на
регистрация работает и в базу впиывается нехешированный пароль.
При авторизации после ввода логина и пароля выходит пустой экран (Mozzila) или ошибка 500 (IE).
Удаление и в файлах ucp_remind.php, ucp_profile.php ни к чему не привели.
такие же изменения в файле auth_db.php приводят к краху форума
После изменения
Код: Выделить всё
phpbb_hashКод: Выделить всё
phpbb_check_hashКод: Выделить всё
'user_password' => phpbb_hash($data['new_password']),Код: Выделить всё
'user_password' => $data['new_password'],При авторизации после ввода логина и пароля выходит пустой экран (Mozzila) или ошибка 500 (IE).
Удаление
Код: Выделить всё
phpbb_hashКод: Выделить всё
phpbb_check_hashтакие же изменения в файле auth_db.php приводят к краху форума
-
rxu
- phpBB Guru

- Сообщения: 17270
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 632 раза
- Поблагодарили: 2412 раз
Re: Замена встроенного хэширования пароля
Ранее для проверки авторизации вы сделали
Что есть функция phpbb()? Отсюда и копайте.
Код: Выделить всё
// Check password ...
if (!$row['user_pass_convert'] && phpbb($password, $row['user_password']))-
tiberinx
- phpBB 1.2.0
- Сообщения: 10
- Стаж: 16 лет 11 месяцев
- Откуда: Ош
Re: Замена встроенного хэширования пароля
После этого я уже переустановил 2 раза.rxu писал(а):Ранее для проверки авторизации вы сделали
Код: Выделить всё
// Check password ...
if (!$row['user_pass_convert'] && phpbb($password, $row['user_password']))
Что есть функция phpbb()? Отсюда и копайте.
Добавлено спустя 2 минуты 19 секунд:
Сейчас у меня
Код: Выделить всё
// Check password ...
if (!$row['user_pass_convert'] && phpbb_check_hash($password, $row['user_password']))
Код: Выделить всё
phpbb_check_hash-
rxu
- phpBB Guru

- Сообщения: 17270
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 632 раза
- Поблагодарили: 2412 раз
Re: Замена встроенного хэширования пароля
А если заменить его, к примеру, на
Код: Выделить всё
if (!$row['user_pass_convert'] && ($password == $row['user_password']))-
tiberinx
- phpBB 1.2.0
- Сообщения: 10
- Стаж: 16 лет 11 месяцев
- Откуда: Ош
-
tiberinx
- phpBB 1.2.0
- Сообщения: 10
- Стаж: 16 лет 11 месяцев
- Откуда: Ош
Re: Замена встроенного хэширования пароля
Во вторник нужно отчитаться. Я шифрование позже сделаем. Чтобы программу научить шифровать, уйдет много времени. К тому же программу делаю не я. Мое дело форум
Добавлено спустя 1 минуту 2 секунды:
А Вам большое спасибо, ибо не видать мне было зарплаты. :D
Добавлено спустя 1 минуту 2 секунды:
А Вам большое спасибо, ибо не видать мне было зарплаты. :D

