Перейти к содержимому
Русский язык для Invision Community 5

Хэш пароля из внешней базы данных

Есть база данных пользователей с паролями phpass, через модуль внешней авторизации хочу подключить базу к форуму, но ipb хочет md5, либо добавления метода в auth.php.

не совсем понятно что именно туда вписывать или какие строчки заменять.

как подружить внешнюю авторизацию ипб 3.4.6 c phpass?

Изменено пользователем smilezp

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

Если результат phpass это хеш типа Blowfisfh или DES, для проверки хеша можно использовать стандартную функцию crypt (для php >= 5.5.0 - password_verify)

 

/admin/sources/loginauth/external/auth.php

 

Ниже

		case 'sha1':
			$check_pass = sha1($password);
		break;

Добавить

		case 'crypt':
			$check_pass = crypt($password, $remote_member[ REMOTE_FIELD_PASS ]);
		break;

 

/admin/sources/loginauth/external/acp.php

 

После

array( 'sha1', 'SHA1' ),

Добавить

array( 'crypt', 'Crypt' ),

 

В настройках модуля авторизации, "способ хеширования пароля в удаленной базе" выбрать - Crypt.

В противном случае придется подключить библиотеку phpass.

Загрузить PasswordHash.php в /ips_kernel/

В качестве типа "crypt" использовать следующий код

 

		case 'crypt':
			require_once IPS_KERNEL_PATH . 'PasswordHash.php';
			$hash = new PasswordHash(FALSE, FALSE);
			$check_pass = $hash->CheckPassword($password, $remote_member[ REMOTE_FIELD_PASS ]);
		break;

  • Автор

спасибо, получилось методом подключения файла PasswordHash.php :rolleyes:

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

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.