HTTP Apache авторизация

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

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

HTTP Apache авторизация

Сообщение DarkedAngel »

Вообщем проблема такая... Имею сайт с форумом, и хотелось бы закрыть их через HTTP авторизацию. Сайт завязан на пользователях PHPBB, т.е. с интеграцией проблем нет.

Что хотелось бы, чтобы при обращении к сайту/форуму выводилось сообщение для HTTP авторизации, и больше на форуме ничего не требовалось вводить. Ставлю в тип аутификации Apache в настройках, мне пишет "Необходимо настроить аутентификацию Apache при переключении phpBB на этот метод аутентификации. Помните, что имя пользователя для аутентификации в Apache должно совпадать с вашим именем пользователя в phpBB. Аутентификация Apache может использоваться только с mod_php (не с версией CGI) и с отключённым safe_mode."

safe_mode стоит в Off

В конфиге апача: #LoadModule cgi_module modules/mod_cgi.so

Пытался гуглить - бесполезно, по этой теме вообще нет ничего.

Не пинайте сильно, может кто сталкивался с HTTP авторизацией для PHPBB.

Сервер свой, настройки могу копать любые.
Apache/2.2.17 + PHP/5.3.2 + Mysql 5.0.8
Форум PHPBB 3.0.8 лежит в папочке forum/ относительно корня.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: HTTP Apache авторизация

Сообщение rxu »

DarkedAngel
Если более-менее продвинуты в плане кодинга - в includes/functions.php есть функция phpbb_http_auth(), пример использования - в feed.php.
Изображение
DarkedAngel
phpBB 1.0.0
Сообщения: 3
Стаж: 15 лет 5 месяцев

Re: HTTP Apache авторизация

Сообщение DarkedAngel »

Спасибо, почитал... Только не phpbb_http_auth(), а phpbb_http_login()...

Меня интересует конкретно настройка .htpassword и .htaccess

"Включает аутентификацию через HTTP, которая позволяет пользователям получать информацию, недоступную для гостей, с добавлением параметра auth=http в адресную строку канала новостей. Учтите, что для работы данной функции на некоторых серверах может потребоваться внесение дополнительных изменений в файл .htaccess."

Я все конечно понимаю, но auth=http в параметрах - не прикольно, во вторых, что именно писать в .htaccess
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: HTTP Apache авторизация

Сообщение rxu »

DarkedAngel писал(а):не phpbb_http_auth(), а phpbb_http_login()
Точно, ошибся.
DarkedAngel писал(а):что именно писать в .htaccess
[FAQ] Каналы новостей phpBB 3.0.7 / 3.0.8 (ATOM feed) - здесь есть.
DarkedAngel писал(а):auth=http в параметрах - не прикольно
Ну здесь хозяин-барин, делайте безусловную аутентификацию, независимо от наличия параметра.
Изображение
DarkedAngel
phpBB 1.0.0
Сообщения: 3
Стаж: 15 лет 5 месяцев

Re: HTTP Apache авторизация

Сообщение DarkedAngel »

rxu писал(а): безусловную аутентификацию, независимо от наличия параметра
Это как???

Добавлено спустя 1 час 37 минут 33 секунды:

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

<?php
ini_set ('display_startup_errors','off');
session_start();  // начинаем сессию пользователя (необходимо для некоторых модулей)
$_SESSION[$_SERVER['HTTP_HOST']]['IN_MSE']=1;
error_reporting(0);

$_SESSION[$_SERVER['HTTP_HOST']]['IN_MSE']=1;

//вычисление времени выполнения
$start_time = microtime();
$start_array = explode(" ",$start_time);
$start_time = $start_array[1] + $start_array[0];
include ("common/config.php"); // берем параметры базы данных
include ("common/functions.php"); // подключаем набор процедур
include ("common/vars.php");  // получаем все необходимые переменные
if ($act=="admin") die ("Hack Attemp");

define('PHPBB_ROOT_PATH', $SITE['path']."forum/");
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : $SITE['path']."forum/";
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include_once($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();

	phpbb_http_login(array(
		'auth_message'	=> ' ',
		'viewonline'	=> request_var('viewonline', true),
	));
	
	
$auth->acl($user->data);
$user->setup();

$SITE['username'] = $user->data['username'];
$SITE['user_unread_pm'] = ($user->data['user_unread_privmsg']) ? '('.$user->data['user_unread_privmsg'].')' : '';


?>
Получаем:

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

У вас нет доступа в эту часть форума.
В чем косяк?

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