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

как запретить вывод в поиске сообщений из скрытых форумов

Проблемы с установкой или работой 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) | Как задавать вопросы | Как устанавливать расширения

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

как запретить вывод в поиске сообщений из скрытых форумов

Сообщение UltimaThule »

На форуме есть несколько скрытых разделов, доступ в которые да только определенным группам пользователей. Но, как выяснилось, при поиске сообщения из этих разделов нормально отображаются в результатах. Дальше уже при попытке перейти перейти к сообщению по ссылке, выдается запись о запрете доступа. Но само сообщение на странице /forum/search.php?keywords=.... видно, и любой может по этой выдаче прочитать весь топик из закрытого раздела.
Временно решила проблему убрав из шаблона search_results.html вывод переменной {searchresults.MESSAGE}. Но это плохое решение, т.к. пользователям не нравится, что в поиске выводятся пустые сообщения.

Поэтому вопрос - сделать проверку прав доступа в search_results.html или в search.php с тем, чтобы посты из скрытых форумов показывались только пользователям, имеющим доступ в эти форумы?

Или другими словами - как в поисковой выдаче выводить только те сообщения, которые допускают права пользователя?

Добавлю, что права на форуме всем пользователям настроены и работают везде кроме поиска. Файл поиска и его шаблон просмотрела. Там никакой проверки прав нет.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12449
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2479 раз

Re: как запретить вывод в поиске сообщений из скрытых форумов

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

Право "может читать форум" точно верно настроено? Проверьте трассировкой

Проверка есть

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

	// Which forums should not be searched? Author searches are also carried out in unindexed forums
	if (empty($keywords) && sizeof($author_id_ary))
	{
		$ex_fid_ary = array_keys($auth->acl_getf('!f_read', true));
	}
	else
	{
		$ex_fid_ary = array_unique(array_merge(array_keys($auth->acl_getf('!f_read', true)), array_keys($auth->acl_getf('!f_search', true))));
	}
UltimaThule
phpBB 1.4.1
Сообщения: 40
Стаж: 7 лет 7 месяцев

Re: как запретить вывод в поиске сообщений из скрытых форумов

Сообщение UltimaThule »

Татьяна, спасибо за ответ. Но вот приведенного Вами кода у меня в файле search.php нет. Еще раз поискала по фрагментам кода. Нет.
Может это быть связано с версией движка? У меня 3.1.9.
По правам - на эти разделы у меня установлена маска "Нет доступа" для всех пользователей кроме определенных групп. Извините, не знаю, как проверить трассировкой. Подскажите, пожалуйста.

Отправлено спустя 5 минут 53 секунды:
Извиняюсь. Проверку в файле нашла.
Теперь остался вопрос - как проверить права трассировкой.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12449
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2479 раз

Re: как запретить вывод в поиске сообщений из скрытых форумов

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

UltimaThule писал(а): как проверить права трассировкой
Посмотреть права какого-то пользователя (через управление пользователями), выбрать там форум и нажать на синюю стрелку рядом с правом
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 2 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1716 раз

Re: как запретить вывод в поиске сообщений из скрытых форумов

Сообщение Sheer »

UltimaThule писал(а): Но вот приведенного Вами кода у меня в файле search.php нет
Что-то вы путаете. Он даже есть в 3.0 http://sheer.phpbbguru.net/ref/nav.html?search.php.html
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
UltimaThule
phpBB 1.4.1
Сообщения: 40
Стаж: 7 лет 7 месяцев

Re: как запретить вывод в поиске сообщений из скрытых форумов

Сообщение UltimaThule »

Сделала имитацию прав пользователя через Управление пользователями - > Проверить права пользователя.
rights-2.jpg
Вошла в форум, закрытых разделов в самом форуме, разумеется не вижу, но в поиске все сообщения из этих разделов выводятся.
Untitled-1.jpg
При этом конкретно этому пользователю установлено право НИКОГДА на все закрытые форумы.
rights-3.jpg
Вот что я не так делаю?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 2 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1716 раз

Re: как запретить вывод в поиске сообщений из скрытых форумов

Сообщение Sheer »

UltimaThule писал(а): Вот что я не так делаю?
Вот это
UltimaThule писал(а): Сделала имитацию прав пользователя
Зайдите на свою конференцию под Гостем и проверьте поиск.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12449
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2479 раз

Re: как запретить вывод в поиске сообщений из скрытых форумов

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

UltimaThule писал(а): Проверить права пользователя
Не то
В выпадающем списке справа есть "права доступа"
UltimaThule
phpBB 1.4.1
Сообщения: 40
Стаж: 7 лет 7 месяцев

Re: как запретить вывод в поиске сообщений из скрытых форумов

Сообщение UltimaThule »

Зашла под Гостем, сделала поиск по тем же словам. Сообщения из закрытых разделов выводятся. И под гостем тоже.
rights-5.jpg
И если бы я в шаблонах не убрала их вывод, то вместо белых пропусков на изображении был бы текст постов из закрытых разделов.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12449
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2479 раз

Re: как запретить вывод в поиске сообщений из скрытых форумов

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

Напишите в ЛС администраторский доступ, проверю
И дебаг временно включите (вместе с debug-extra)
UltimaThule
phpBB 1.4.1
Сообщения: 40
Стаж: 7 лет 7 месяцев

Re: как запретить вывод в поиске сообщений из скрытых форумов

Сообщение UltimaThule »

Татьяна5 писал(а): Не то
В выпадающем списке справа есть "права доступа"
Проверила. И там доступа к закрытому форуму нет.
rights-6.jpg
Отправлено спустя 8 минут 4 секунды:
Заметила еще, что если искать расширенным поиском и выбрать опцию "Показывать результаты как: Темы", то темы из скрытых разделов в выдачу не попадают. А вот если указать "Показывать результаты как: Сообщения", то сообщения из этих разделов выводятся. Причем в поиске эти две опции обрабатываются разными скриптами. Вот тут идет разветвление:

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

if ($show_results == 'posts')
	{
		include($phpbb_root_path . 'includes/functions_posting.' . $phpEx);
	}
	else
	{
		include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
		
	}
Возможно, в functions_display.php есть проверка доступа, а в functions_posting.php ее нет.
Я вот только пока найти не могу, где там это проверяется.

Отправлено спустя 11 минут 32 секунды:
Татьяна5 писал(а): Напишите в ЛС администраторский доступ, проверю
И дебаг временно включите (вместе с debug-extra)
Если имеется в виду это вот в конфиге

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

@define('DEBUG', true);
@define('DEBUG_CONTAINER', true);
, то включила.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12449
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2479 раз

Re: как запретить вывод в поиске сообщений из скрытых форумов

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

UltimaThule писал(а): Возможно, в functions_display.php есть проверка доступа, а в functions_posting.php ее нет
Она в search.php, общая

Жду ещё ссылку на форум (нет её нигде)
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 2 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1716 раз

Re: как запретить вывод в поиске сообщений из скрытых форумов

Сообщение Sheer »

Зашел... набрал в поиске...
Скриншот сделанный 2016-10-23 в 20.27.12.png
Отправлено спустя 4 минуты 52 секунды:
В в догонку в stylesheet.css исправьте .navbar.secondary

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

padding: 1px 11px;
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12449
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2479 раз

Re: как запретить вывод в поиске сообщений из скрытых форумов

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

UltimaThule, копирайты вы доудалялись, стёрли заодно и вывод дебага. Возвращайте обратно, explain посмотреть не могу
(Проблема действительно есть, причём выборочно с некоторыми темами. С правами всё в порядке)

Отправлено спустя 44 секунды:
Sheer, блоК ид агента
9 результатов там ищет, проверяла
UltimaThule
phpBB 1.4.1
Сообщения: 40
Стаж: 7 лет 7 месяцев

Re: как запретить вывод в поиске сообщений из скрытых форумов

Сообщение UltimaThule »

Восстановила копирайты и вообще весь футер в исходное состояние.

Отправлено спустя 6 минут 35 секунд:
Sheer писал(а): В в догонку в stylesheet.css исправьте .navbar.secondary
Вот спасибо! А то я искала-искала, где это поправить, да так и оставила как маловажное...

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