Доступ к странице только с форума phpBB

Проблемы с установкой или работой phpBB 3.1.x? Получите помощь здесь!
С 1 июля 2018 года phpBB Group прекращает поддержку phpBB версии 3.1.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.1 до 1 января 2019 года.
Подробнее: Окончание поддержки phpBB 3.1.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Laroux
phpBB 1.2.0
Сообщения: 10
Стаж: 15 лет 10 месяцев
Благодарил (а): 3 раза

Доступ к странице только с форума phpBB

Сообщение Laroux »

Ребят, подскажите-ка: есть форум на phpBB. В корне каталога с форумом имеется "левая" папка folder, в которой лежит скрипт index.php с определенным кодом.
Мне надо (желательно максимальный вариант, но устроит и любой другой):
- минимум - ограничить выполнение этого скрипта из folder только если на него попали с форума;
- максимум - ограничить выполнение этого скрипта из folder только если на него попал с форума авторизованный пользователь

Наведите на мысль, пожалуйста, как мне видоизменить index.php из каталога folder для решения минимальной, а лучше максимальной задачи.

Заранее благодарен
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12787
Стаж: 13 лет 10 месяцев
Благодарил (а): 160 раз
Поблагодарили: 2306 раз

Re: Доступ к странице только с форума phpBB

Сообщение Татьяна5 »

Создание страниц в стиле конференции + проверять авторизацию

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

$this->user->data['user_id'] !== ANONYMOUS
Аватара пользователя
Laroux
phpBB 1.2.0
Сообщения: 10
Стаж: 15 лет 10 месяцев
Благодарил (а): 3 раза

Re: Доступ к странице только с форума phpBB

Сообщение Laroux »

Ужас какой о_О
А попроще никак?
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 11 лет 1 месяц
Благодарил (а): 39 раз
Поблагодарили: 792 раза

Re: Доступ к странице только с форума phpBB

Сообщение LavIgor »

Laroux, ну на самом деле так делать не обязательно, а здесь и вовсе нет в этом необходимости.
Но Sheer постарался с текстом, он, действительно, впечатляет. :D

Вам подойдёт простое подключение файлов движка в самом скрипте в самом начале, для этого можно использовать способы, применимые в версиях phpBB 3.0.

Попробуйте примерно такой код (не тестировал):

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

<?php

define('IN_PHPBB', true);
$phpbb_root_path = './'; // Сюда вместо './' укажите путь к корню конференции.
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
После него можно добавить, собственно, саму проверку на авторизованность:

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

if (!$user->data['is_registered'])
{
    exit 'Эта страница доступна только авторизованным пользователям конференции!';
}
Вместо exit можно использовать функцию phpBB redirect, например, на страницу входа конференции. Либо интегрировать эту страницу входа прямо сюда (login_box - первым параметром она как раз принимает адрес для редиректа).

В общем, можно много чего придумать. ;)
Аватара пользователя
Laroux
phpBB 1.2.0
Сообщения: 10
Стаж: 15 лет 10 месяцев
Благодарил (а): 3 раза

Re: Доступ к странице только с форума phpBB

Сообщение Laroux »

Сделал файл в корне, написал в нем

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

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
if ($user->data['user_id'] == ANONYMOUS)
{
    login_box('', $user->lang['LOGIN']);
} 

page_header('F7L');
?>
а сразу за этим все содержимое скрипта. Сработало...

Единственное но: у меня на форуме несколько групп.. доступ при таком исполнении получила только одна группа. Не понял почему :(
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 11 лет 1 месяц
Благодарил (а): 39 раз
Поблагодарили: 792 раза

Re: Доступ к странице только с форума phpBB

Сообщение LavIgor »

Laroux писал(а): доступ при таком исполнении получила только одна группа.
А остальным скрипт показывает форму авторизации?
Аватара пользователя
Laroux
phpBB 1.2.0
Сообщения: 10
Стаж: 15 лет 10 месяцев
Благодарил (а): 3 раза

Re: Доступ к странице только с форума phpBB

Сообщение Laroux »

да
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 11 лет 1 месяц
Благодарил (а): 39 раз
Поблагодарили: 792 раза

Re: Доступ к странице только с форума phpBB

Сообщение LavIgor »

Laroux, ну тогда надо проверять, как создаётся сессия для конкретных пользователей, у которых наблюдается проблема.
Можно, кстати, проверку на авторизованность делать через if (!$user->data['is_registered']).
Аватара пользователя
Laroux
phpBB 1.2.0
Сообщения: 10
Стаж: 15 лет 10 месяцев
Благодарил (а): 3 раза

Re: Доступ к странице только с форума phpBB

Сообщение Laroux »

Извините, ввел в заблуждение. Все работает как следует.
Просто эта группа имеет доступ к зарытому разделу, и там в нем разместил ссылку на страничку.. и раздал всем пользователям. Соответственно, они не могу попасть не на мою новую страничку, а в закрытый раздел

по прямой ссылке, если пользователь авторизован, все работает.

Еще раз спасибо

Вернуться в «Поддержка phpBB 3.1.x»