Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Замена встроенного хэширования пароля

Форум для авторов модов для phpBB 3.0.x. Здесь можно попросить помощи в разработке у коллег.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
tiberinx
phpBB 1.2.0
Сообщения: 10
Стаж: 14 лет 5 месяцев
Откуда: Ош
Контактная информация:

Замена встроенного хэширования пароля

Сообщение tiberinx »

Добрый день! Буду краток.

Мне для организации дистанционного обучения необъходимы на данный момент три продукта.

1)Moodle
2)phpBB 3.04
3)база данных студентов универа

с Moodle я разобрался, там можно сделать авторизацию через phpBB3.

Потом встал вопрос в совмещении базы студентов и базы phpBB. Есть программа, написанная на Delphi, которая назначает студентам из базы конкретные логины и пароли. Т.е. с помощью этой же программы можно будет увидеть данные студента, находящиеся под выбранным логином. Пароли в базе студентов изначально не хешировались. Потому я сначала пытался убрать хеширование в phpBB, но многонедельные попытки завершались белым экраном. Если гора не идет к Магомеду, то Магомед идет к горе

Значит мне придется также хешировать пароли из БД студентов, как это делают скрипты в phpBB3


и вот вопрос

получтся ли у меня схема

БД студентов(логин\пароль) ----> (хеширование)----->(MSSQL/Databases/forum/dbo.phpBB_users)
чтобы потом при авторизации на форуме выходило true

если да, то помогите немножко, пожалуйста, мне нужна подсказка
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Re: Мой проект

Сообщение rxu »

tiberinx
Из includes/functions.php берете phpbb_hash и phpbb_check_hash. Собственно, и всё.
Изображение
Аватара пользователя
tiberinx
phpBB 1.2.0
Сообщения: 10
Стаж: 14 лет 5 месяцев
Откуда: Ош
Контактная информация:

Re: Мой проект

Сообщение tiberinx »

Скажите честно, а хеширование из phpBB 3.04 убрать получится?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Re: Мой проект

Сообщение rxu »

Не понял двух моментов:
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']))
В других местах она вас не интересует, т.к. конференция не конвертированная из phpBB2.
Изображение
Аватара пользователя
tiberinx
phpBB 1.2.0
Сообщения: 10
Стаж: 14 лет 5 месяцев
Откуда: Ош
Контактная информация:

Re: Мой проект

Сообщение tiberinx »

rxu писал(а):Не понял двух моментов:
1) Почему 3.04, а не последняя версия?
Еще когда-то скачал, потом поставил на MS SQL 2003. В АЦ не требовал обновления, вот поэтому и не обновляю
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
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Re: Мой проект

Сообщение rxu »

tiberinx
Вы вроде только подсказку просили ;)
Подсказываю: поиск имени функции по файлам рулит.
При создании нового пользователя, в includes/ucp/ucp_register.php

Код: Выделить всё

'user_password'			=> phpbb_hash($data['new_password']),
Изображение
Аватара пользователя
tiberinx
phpBB 1.2.0
Сообщения: 10
Стаж: 14 лет 5 месяцев
Откуда: Ош
Контактная информация:

Re: Мой проект

Сообщение tiberinx »

А извиняюсь. Вы мне подсказали, а мне показалось, что указали. Начал действовать :lol:

Добавлено спустя 19 минут 47 секунд:
Спасибо Вам, товарищ, большое !!!

Добавлено спустя 47 минут 2 секунды:
Re: Замена встроенного хэширования пароля
Однако одна загвоздка. В базе пароли уже не хешируются. Регистрация проходит, но когда я хочу войти, то выходит белый экран.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Re: Замена встроенного хэширования пароля

Сообщение rxu »

Смотрите еррор_лог сервера.

Добавлено спустя 58 минут 23 секунды:
tiberinx
Отвечайте в теме, а не в ЛС.
Я не очень хорошо знаком с IIS, поэтому искать, куда этот сервер пишет лог ошибок, придется вам самому :)
Изображение
Аватара пользователя
tiberinx
phpBB 1.2.0
Сообщения: 10
Стаж: 14 лет 5 месяцев
Откуда: Ош
Контактная информация:

Re: Замена встроенного хэширования пароля

Сообщение tiberinx »

Лог пока не нашел, расскажу так.

После изменения

Код: Выделить всё

phpbb_hash
и

Код: Выделить всё

phpbb_check_hash
в файле function.php перестает работать регистрация. Однако заменив строку в файле ucp_register.php

Код: Выделить всё

'user_password'	 =>  phpbb_hash($data['new_password']),
на

Код: Выделить всё

'user_password'	  =>   $data['new_password'],
регистрация работает и в базу впиывается нехешированный пароль.
При авторизации после ввода логина и пароля выходит пустой экран (Mozzila) или ошибка 500 (IE).
Удаление

Код: Выделить всё

phpbb_hash
и

Код: Выделить всё

phpbb_check_hash
в файлах ucp_remind.php, ucp_profile.php ни к чему не привели.

такие же изменения в файле auth_db.php приводят к краху форума
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Re: Замена встроенного хэширования пароля

Сообщение rxu »

Ранее для проверки авторизации вы сделали

Код: Выделить всё

// Check password ...
   if (!$row['user_pass_convert'] && phpbb($password, $row['user_password']))
Что есть функция phpbb()? Отсюда и копайте.
Изображение
Аватара пользователя
tiberinx
phpBB 1.2.0
Сообщения: 10
Стаж: 14 лет 5 месяцев
Откуда: Ош
Контактная информация:

Re: Замена встроенного хэширования пароля

Сообщение tiberinx »

rxu писал(а):Ранее для проверки авторизации вы сделали

Код: Выделить всё
// Check password ...
if (!$row['user_pass_convert'] && phpbb($password, $row['user_password']))


Что есть функция phpbb()? Отсюда и копайте.
После этого я уже переустановил 2 раза.

Добавлено спустя 2 минуты 19 секунд:
Сейчас у меня

Код: Выделить всё

// Check password ...
  if (!$row['user_pass_convert'] && phpbb_check_hash($password, $row['user_password']))


и если я уберу

Код: Выделить всё

phpbb_check_hash
, то весь форум накрывается белым экраном
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Re: Замена встроенного хэширования пароля

Сообщение rxu »

А если заменить его, к примеру, на

Код: Выделить всё

if (!$row['user_pass_convert'] && ($password == $row['user_password']))
Изображение
Аватара пользователя
tiberinx
phpBB 1.2.0
Сообщения: 10
Стаж: 14 лет 5 месяцев
Откуда: Ош
Контактная информация:

Re: Замена встроенного хэширования пароля

Сообщение tiberinx »

Вы волшебник! :D Работает, спасибо!
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Re: Замена встроенного хэширования пароля

Сообщение rxu »

Хранение паролей в открытом виде в БД - совсем не айс.
Изображение
Аватара пользователя
tiberinx
phpBB 1.2.0
Сообщения: 10
Стаж: 14 лет 5 месяцев
Откуда: Ош
Контактная информация:

Re: Замена встроенного хэширования пароля

Сообщение tiberinx »

Во вторник нужно отчитаться. Я шифрование позже сделаем. Чтобы программу научить шифровать, уйдет много времени. К тому же программу делаю не я. Мое дело форум

Добавлено спустя 1 минуту 2 секунды:
А Вам большое спасибо, ибо не видать мне было зарплаты. :D
Закрыто

Вернуться в «Для авторов (phpBB 3.0.x)»