Intellect Board Pro
Расширяемый движок форума с разделами разных типов
Объявление
Вышла версия 3.05 с фотогалереей и поддержкой PostgreSQL и SQLite.
Перейти к скачиванию
Привет, гость!

Баг наследованием прав доступа на разделы

Настройки отображения темы Показывать по сообщений с сортировкой .
Выводить , отправленные .
Одна страница
Распечатать
К данной теме присоединены сообщения из темы «Пожелания по работе с разделами»
Фанат IntBoard
Новичок
Нет Всего сообщений: 8
Зарегистрирован: 9 авг. 2015 г., 15:06
Рейтинг пользователя: 3

0
#2
1. Да, проверил - задумано хорошо... но только не работает наследование. Ситуация такая - есть некий раздел-контейнер, внутри которого есть другие разделы. Изначально все разделы доступны гостям. Затем через редактирование прав группы пользователей у гостей убираю все галочки для раздела-контейнера, он становится недоступен гостям. Тут всё правильно. Там же написано что эти права наследуются другими разделами,которые внутри контейнера и эти разделы перечислены - тоже всё правильно. Теперь заходим под гостем в раздел-контейнер - ошибка 404 - всё правильно, раздел закрыт. Теперь заходим во внутренний раздел контейнера, который должен был унаследовать его права - а тут раздел открылся, и открылись все темы которые в нём. То есть для вложенных разделов права не унаследовались. Тут надо что-то исправить.

2. Действительно редко, мне за 7 лет, только один раз такое понадобилось.

3. Обязательно надо добавить засеривание тех чекбоксов, которые игнорируются. Иначе мозги закипают при попытке понять как это всё работает.

4. Попробовал удалить корзину - всё правильно, всё лишнее удалилось.

5. Да, вчера я нашёл этот способ: создаётся раздел-контейнер на него устанавливаются ограниченные права, а затем все ненужные разделы через операции с группой разделов переносятся в этот контейнер. Разделы спрятались, но из-за того, что не работает наследование, спрятанные разделы и темы остались доступны по прямой ссылке. Наверное если исправить п1. то и эта проблема исправится.

6 Дополнительный вопрос: в новой версии маршрутизация к разделам форума настраивается через htaccess, то есть для каждого раздела создаётся своя секция правил. А какая предельная ёмкость у htaccess? У моего форума например, этот файл уже занимает более 500 KB, это при том, что я только начал экспериментировать. Такой размер файла не приведёт ли к тормозам всех страниц форума? Этот файл ведь читается при каждом запросе к серверу, а если файл большой, то не приведёт ли это к черезмерной нагрузке на сервер?

PS: а у меня несколько разделов оказались с русскими буквами и с пробелом в hurl. Когда это попало в htaccess, то весь форум лёг с ошибкой 500, даже админка. Шикарный способ положить весь форум на лопатки одним действием....

4X_Pro
Основатель проекта
Всего сообщений: 401
Зарегистрирован: 22 сент. 2014 г., 18:56
Откуда: Москва, Перово
Рейтинг пользователя: 15

0
#3
Баг с наследованием нашел и исправил. Ошибка была примитивной: вместо isset при проверке наличия родительского раздела стояло !isset (видимо, хотел в какой-то момент заменить на !empty). В общем, исправляется он так: в файле app/app.php в функции check_access нужно заменить строку (у меня она 1045) if (!isset($this->userdata['access'][$forum]) && isset($this->userdata['access'][$forum][$action])) {
на вот такую: if (isset($this->userdata['access'][$forum]) && isset($this->userdata['access'][$forum][$action])) {
После этого наследование начинает работать корректно.
Фанат IntBoard написал(а):
6 Дополнительный вопрос: в новой версии маршрутизация к разделам форума настраивается через htaccess, то есть для каждого раздела создаётся своя секция правил. А какая предельная ёмкость у htaccess? У моего форума например, этот файл уже занимает более 500 KB, это при том, что я только начал экспериментировать. Такой размер файла не приведёт ли к тормозам всех страниц форума? Этот файл ведь читается при каждом запросе к серверу, а если файл большой, то не приведёт ли это к черезмерной нагрузке на сервер?

Насчет предельной емкости не знаю. Но если структура форума сложилась и дальнейших добавлений/изменений разделов в ближайшее время не планируется, то можно правила из .htaccess перенести в основной конфиг сервера (если к нему есть доступ), а использование .htaccess просто отключить (в свое время собирался даже написать небольшой мануал по получению максимальной производительности IntB, где помимо всего прочего была бы и такая рекомендация).
Но вообще, проблема действительно существует, и в релизе я немного поменяю принцип генерации .htaccess: вместо набора правил для каждого раздела будет генерироваться набор правил для каждого типа, где URLы разделов будут перечислены через |. А выборка раздела идти не по id, а по HURL.
Фанат IntBoard написал(а):
PS: а у меня несколько разделов оказались с русскими буквами и с пробелом в hurl. Когда это попало в htaccess, то весь форум лёг с ошибкой 500, даже админка. Шикарный способ положить весь форум на лопатки одним действием....

Ну вообще, ни IntB 2, ни IntB 3 подобные символы в HURL просто не должны были пропускать... Или это разделы типа "личный блог" были?

Критикуя — предлагай, предлагая — обосновывай!
4xpro.ru — мой личный сайт-мультиблог на Intellect Board.

Одна страница
Распечатать

У вас нет прав для отправки сообщений в эту тему.