Skip to content

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

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

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

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

Edited by smilezp

Featured Replies

Если результат 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;

  • Author

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

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.