prowebber.ru - Тут есть все для настоящих вебмастеров

Мы в твиттере Наша страничка на FaceBook! Сообщество вебмастеров в VK Мы в телеграме!

PW — всё для вебмастера » Всё для IPB » IPB модификации » Интеграция DLE 10-12 + IPS 4.2.x

Интеграция DLE 10-12 + IPS 4.2.x

Данный материал предоставлен сайтом ProWebber.ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Интеграция DLE 10-12 + IPS 4.2.x.

Интеграция DLE 10-12 + IPS 4.2.x


Это небольшая инструкция по созданию общей авторизации между двумя системами - Datalife Engine и Invision Power Suite.
Данный метод будет работать только если ваши базы данных на локальном сервере и для подключения вы используете localhost, либо знаете точный адрес до базы данных - иначе не сработает.

Версия DLE: 10.х, 11.х, 12.х
Версия IPS: 4.2

Что может эта интеграция?
Если есть пользователь в базе данных DLE, то система IPS авторизует его без проблем
IPS создаёт пользователя на основе данных в базе DLE
Работает односторонне


Инструкция:

Открываем админку IPS и переходим в управление авторизацией: (на примере IPS v4.2.5)

Интеграция DLE 10-12 + IPS 4.2.x


Активируем внешнюю авторизацию в админке IPS.

если вас не перенесло автоматически, то нажмите на карандаш справа.
Заполняем данные базы данных, где находится DLE

Детали схемы базы данных

Интеграция DLE 10-12 + IPS 4.2.x


Заполняем
Таблица: *ваш префикс*_users
Колонка имён пользователей: name
Колонка Email адресов: email
Колонка паролей: password
Тип шифрования паролей: Если у вас версия DLE 11.1 и меньше - берём значение MD5, если больше - Обычный текст
Дело в том, что начиная с версии 11.2 в DLE сменился хеш паролей и MD5 более не подходит. Мы всё подправим в файле внешней авторизации. Посему - можете спокойно обновлять DLE.
Дополнительное условие: banned<>1
Этот параметр не даст забанненым пользователям авторизоваться на форуме
Сохраняем

Открываем файл форум/system/Login/External.php
Ищем строчку (похожую)
if ( !\IPS\Login::compareHashes( $this->encryptedPassword( $values['password'] ), $result[ $this->settings['db_col_pass'] ] ) )
        {
            throw new \IPS\Login\Exception( 'login_err_bad_password', \IPS\Login\Exception::BAD_PASSWORD, NULL, $member );
        }


Выше(!) ставим:

switch ( $this->settings['db_encryption'] )
{
            case 'plaintext':
                if(!password_verify($values['password'], $result[ $this->settings['db_col_pass'] ] ) ) {
            throw new \IPS\Login\Exception( 'login_err_bad_password', \IPS\Login\Exception::BAD_PASSWORD, NULL, $member );
        }
            
            default:


и ниже
}


Ищем:
return md5( $password );


меняем на
return md5( md5( $password ) );


Ищем:
return $password;


меняем на
return password_hash($password, PASSWORD_DEFAULT);


Сохраняем

Установка закончена!

Автор: Maxim Harder, Celsoft





+2

Просмотры: 559 :: Комментарии (1) :: :: Нужна помощь? Задайте вопрос на форуме ::
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1mondolfo

  • 11 марта 2018 01:14
  • Регистрация: 26.11.2010
  • ICQ: --
  • Комментариев: 51
version 12.1 this method working

Find:

if ( !\IPS\Login::compareHashes( $this->encryptedPassword( $values['password'] ), $result[ $this->settings['db_col_pass'] ] ) )
        {
            throw new \IPS\Login\Exception( 'login_err_bad_password', \IPS\Login\Exception::BAD_PASSWORD, NULL, $member );
        }


Change to:

if(!password_verify($values['password'], $result[ $this->settings['db_col_pass'] ] ) ) {
  throw new \IPS\Login\Exception( 'login_err_bad_password', \IPS\Login\Exception::BAD_PASSWORD, NULL, $member );
}


Find:

return md5( $password );


Change to:

return password_hash($password, PASSWORD_DEFAULT);

0
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.

https://culabra.ru — Блог вЭбмастЭра

DCOReARTs.COM - Услуги веб-дизайна и графики

Max-energy.top - Заработок на электросчетчиках;)

Skripters.info - все для вебмастера. Только эксклюзивный контент.

Создание шаблонов DLE, быстро и недорого! 3wave.com.ua

Наши баннеры
Скрипты, cms, шаблоны, статьи по раскрутке

Опросы

Каких материалов НЕ хватает на сайте?

Шаблонов
Скриптов
Программ
Графики
Уроков и курсов

Архив новостей
Июнь 2018 (368)
Май 2018 (583)
Апрель 2018 (408)
Март 2018 (457)
Февраль 2018 (385)
Январь 2018 (125)

Последние комментарии:

  • Скрипты, cms, шаблоны, статьи по раскрутке
  • Яндекс.Метрика

Искать людей

Ваши переписки