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

[FAQ] Интеграция входа на конференцию phpBB с сайтом

Темы по наиболее часто задаваемым вопросам без привязки к версии phpBB. Читать в первую очередь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x/3.3.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16372
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1745 раз

[FAQ] Интеграция входа на конференцию phpBB с сайтом

Сообщение rxu »

Ниже приведен пример скрипта с интегрированной формой входа на конференцию (общего вида).
В приведённом примере папка, в которой находится скрипт, находится на один уровень выше папки конференции. Файлы конференции находятся в папке phpBB3 относительно скрипта.

По коду скрипта имеются пояснительные комментарии (на английском языке).

Вопросы принимаются в этой теме.

Версия 1.1.0 с интегрированным списком онлайн и легендой групп здесь.
Версия 1.2.0 с аватарой здесь.

Версия 2.0.1 для phpBB 3.2/3.3 здесь.

login_1.0.5.zip
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось rxu 22.05.2020 8:37, всего редактировалось 6 раз.
Изображение
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16372
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1745 раз

Re: [FAQ RC] Интеграция входа на конференцию с сайтом

Сообщение rxu »

pechs
В куках хранится информация о сессии, phpBB определяет "авторизованность" в зависимости от ряда параметров, сраниваемых с информацией из базы данных (таблица phpbb_sessions). Кроме того, крон периодически оцищает в БД записи об устаревших сессиях.
При добавлении сообщений форум обращается к большому числу таблиц, в том числе и к таблице пользователей.
pechs писал(а):не хотелось бы переписывать систему шифрования паролей, для интеграции с таблицей форума
А зачем ее переписывать, используйте для сайта свои проверки хэша, для phpBB - встроенные.
Изображение
pechs
phpBB 1.0.0
Сообщения: 3
Стаж: 14 лет 8 месяцев

Re: [FAQ RC] Интеграция входа на конференцию с сайтом

Сообщение pechs »

rxu
спасибо за совет, и тогда возникает следующие вопросы:
- при регистрации дублировать записи в две таблицы пользователей?
- а возможно в форумном движке дополнительно шифровать введенный логин и пароль, что бы входными параметром были не данные, введенные пользователям, а уже предварительно зашифрованные (просто база пользователей уже довольно большая и не хотелось бы повторно их перерегистрировать, а хочется добиться того что бы авторизационные данные стали доступны и на форуме)?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16372
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1745 раз

Re: [FAQ RC] Интеграция входа на конференцию с сайтом

Сообщение rxu »

pechs писал(а):- при регистрации дублировать записи в две таблицы пользователей?
Видимо, да.
pechs писал(а):- а возможно в форумном движке дополнительно шифровать введенный логин и пароль, что бы входными параметром были не данные, введенные пользователям, а уже предварительно зашифрованные (просто база пользователей уже довольно большая и не хотелось бы повторно их перерегистрировать, а хочется добиться того что бы авторизационные данные стали доступны и на форуме)?
Это будет противоречить первому варианту :)
В принципе, если пароли вам известны, можете их перехэшировать в phpBB. Если хотите использовать логин/пароль с сайта, тогда придется научить phpBB новому хэшу, для этого придется переписать часть кода авторизации.
Изображение
pechs
phpBB 1.0.0
Сообщения: 3
Стаж: 14 лет 8 месяцев

Re: [FAQ RC] Интеграция входа на конференцию с сайтом

Сообщение pechs »

rxu
что-то начинает вырисовываться, но возникают новые проблемы:
в метод класса внедряю код подключения к функционалу форума

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

final public function UserLogin($sLogin, $sPass){
    if (empty($sLogin)) bcObject::Init("bcMessage")->AddError("Не указано имя пользователя");
    if (empty($sPass))  bcObject::Init("bcMessage")->AddError("Не указан пароль");
    if (bcObject::Init("bcMessage")->noError() === TRUE){
      $_User = parent::dbQuery("SELECT nId, nGroupId, sName, sPass  FROM " . sDbPx . "users WHERE sName = '{$sLogin}'");
      if (empty($_User[0]["sName"])) 
        bcObject::Init("bcMessage")->AddError("Пользователе <b>{$sLogin}</b> не найден");
      if(bcObject::Init("bcMessage")->noError() === TRUE && HashData($sLogin, $sPass) != $_User[0]["sPass"])
        bcObject::Init("bcMessage")->AddError("Неверная пара Логин/Пароль для пользователя {$sLogin}");
      if (bcObject::Init("bcMessage")->noError() === TRUE){
        $_SESSION["_User"]['Name'] = $sLogin;
        $_SESSION["_User"]['Low'] = $_User[0]["nGroupId"];
        $_SESSION["_User"]['nId'] = $_User[0]["nId"];
        
        // ---------------------
        // авторизация на форуме
        // ---------------------
        define('IN_PHPBB', true);
        $phpbb_root_path = sRootDir . "forum/";
        $phpEx = "php";
        include($phpbb_root_path . 'common.' . $phpEx);       
      }
    }
    return $this;
возникает следующая ошибка:
Fatal error: Call to a member function sql_query() on a non-object in /home/bestlitr/public_html/knifelib.ru/forum/includes/cache.php on line 51
подозреваю, что проблема может быть в автоинклуда файлов класса:

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

function __autoload($sClassName) {
  $sClassFileName = sCoreDir . "Classes/{$sClassName}.php";
  if (file_exists($sClassFileName)) require_once $sClassFileName;
  else die("Не обнаружен файл класса: <strong>{$sClassName}</strong>");
}
или проблемы быть может в чем-то другом?

проверял сам файл cache.php, там указанна видимость переменной $db - global, но она полностью отсутствует... =(

Добавлено спустя 17 минут 37 секунд:
да, при этом сам форум работает отлично )
remouter
phpBB 1.0.0
Сообщения: 1
Стаж: 14 лет 8 месяцев

Re: [FAQ RC] Интеграция входа на конференцию с сайтом

Сообщение remouter »

Подскажите, есть ли решение по единой регистрации и авторизации сайта и форума?
Что-то в этой теме сообщения почитал, так и не понял решил ли кто-то задачу или нет.
Если здесь есть решение, прошу дайте ссылку, а то найти не смог.
У сайта своя CMS и своя регистрация, можно ли что-то сделать чтоб пользователь мог регистрироваться один раз на сайте и потом пользовался как сервисами сайта, так и подключенного форума.
Аватара пользователя
Rayden
Former team member
Сообщения: 3739
Стаж: 18 лет 10 месяцев
Поблагодарили: 3 раза

Re: [FAQ RC] Интеграция входа на конференцию с сайтом

Сообщение Rayden »

Читай заново. Тут все принципы даны, а под свою цмс нужно затачивать специально.
phpBB2 FAQ
phpBB3 FAQ
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16372
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1745 раз

Re: [FAQ RC] Интеграция входа на конференцию с сайтом

Сообщение rxu »

remouter писал(а):есть ли решение по единой регистрации и авторизации сайта и форума?
Готового нет, нужно использовать функцию user_add из файла includes/functions_user.php.
Изображение
braconier
phpBB 1.0.0
Сообщения: 6
Стаж: 14 лет 7 месяцев

Re: [FAQ RC] Интеграция входа на конференцию с сайтом

Сообщение braconier »

как правильно реализовать Интеграцию, если сайт и форум находятся физически на разных серверах, пробовал так:
сервер форум: залил ваш скрипт на нем, потом с формы сервера сайта отправляются этому файлу, он принимает и авторизация проходит , но при переходе по ссылке на форум, пишет что надо авторизироваться, а это напрягает всех по 2 раза.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16372
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1745 раз

Re: [FAQ RC] Интеграция входа на конференцию с сайтом

Сообщение rxu »

Возможно, что-то с кукисами. Такой вариант не предусматривался :)
Изображение
braconier
phpBB 1.0.0
Сообщения: 6
Стаж: 14 лет 7 месяцев

Re: [FAQ RC] Интеграция входа на конференцию с сайтом

Сообщение braconier »

жаль, погуглив было принято решение что пускай все напрягаются пока......
sergda
phpBB 1.0.0
Сообщения: 4
Стаж: 14 лет 6 месяцев

Re: [FAQ RC] Интеграция входа на конференцию с сайтом

Сообщение sergda »

добрый день! подключаю login. выдает ошибку
Fatal error: Call to a member function get() on a non-object in M:\home\localhost\www\123\forum\includes\db\mysqli.php on line 90
вот строка

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

echo $user->lang['PASSWORD'] . ':&nbsp;<input type="password" name="password" id="password" size="10" title="' . $user->lang['PASSWORD'] . '" />';
как исправить? спасибо!
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16372
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1745 раз

Re: [FAQ RC] Интеграция входа на конференцию с сайтом

Сообщение rxu »

sergda писал(а):подключаю login. выдает ошибку
Как конкретно подключаете?
Изображение
sergda
phpBB 1.0.0
Сообщения: 4
Стаж: 14 лет 6 месяцев

Re: [FAQ RC] Интеграция входа на конференцию с сайтом

Сообщение sergda »

на сайте создал отдельный блок, прописал путь до форума, ну и все! а что то еще надо? просветите пожалуйста как правильно все сделать?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16372
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1745 раз

Re: [FAQ RC] Интеграция входа на конференцию с сайтом

Сообщение rxu »

Ничего не понял. Я спрашивал - как конкретно. Схему, скрипт приведите.
Телепатов у нас нет :)
Изображение
Аватара пользователя
Палыч
Former team member
Сообщения: 9683
Стаж: 17 лет 11 месяцев
Откуда: Питер
Благодарил (а): 1 раз
Поблагодарили: 27 раз

Re: [FAQ RC] Интеграция входа на конференцию с сайтом

Сообщение Палыч »

sergda писал(а):добрый день! подключаю login.
sergda писал(а):на сайте создал отдельный блок
rxu
Насколько я могу понять, sergda создал в шаблоне главной страницы сайта блок входа и
sergda писал(а):прописал путь до форума, ну и все!
sergda писал(а): просветите пожалуйста как правильно все сделать?
а тему данную не пробовали читать?
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Перенесено из форума FAQ (phpBB 3.0.x) в форум FAQ 28.09.2016 15:02 модератором rxu

Вернуться в «FAQ»