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

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

PW — всё для вебмастера » Всё для IPS » IPS модификации » Интеграция 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

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

#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);

+1

#2Min-a-Gon

  • 13 августа 2018 19:53
  • Регистрация: 29.06.2013
  • ICQ: нету
  • Комментариев: 1
mondolfo, ty very much!!! =) ur method is working on DLE 11.2

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

SkripTers.biz - Опять вернулся :smiles:

Skripters.Info - эксклюзивный материал для WEBмастеров

mp3live.co - Рингтоны 2018 скачать

Telegram: @haylock_chat - Узнай как открыть свой бизнес бесплатно и как можно заработать.

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

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

Опросы

Нужна ли категория "Интернет магазины"?

Да
Нет

Архив новостей
Декабрь 2018 (70)
Ноябрь 2018 (358)
Октябрь 2018 (485)
Сентябрь 2018 (104)
Август 2018 (312)
Июль 2018 (325)

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

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

Искать людей

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