Форум → Программирование → Пыхнуть хотите? → F.A.Q. → Безопасность.Часть 5.Основа и логика прав.
Безопасность.Часть 5.Основа и логика прав.
Страницы: ← Следующая страница →
-
В данной теме мы раскроем сущность и логику построения прав,приведем на основе этого фрагменты кодов,которые вы,в зависимости от ваших пожеланий,сможете спокойно поменять.
Сначало немного философии.
Разберем что такое права.Интуитивно понятно,что право - это область действий,разрешенных тебе тем,кто этим регулирует.Не будем углублятся в римское право ),а разберем права в приложении,структуру,виды прав.
Сущность права.Права выдаются администратором проекта для обеспечения паралельного контроля над проектом доверенными людьми.В различных проектах они упоминаются по разному,но в общем - это модераторы.Право модератора - это область его действий в определенной области,включающей в себя также санкции,которые он может накладывать на участников проекта,а также право давать права другим участникам(лишение права также относится к выдаче прав в широком смысле).Вообще говоря права,которыми могут быть уполномочены модераторы,несут стихийный характер и зависят от самого разработчика,но ниже показаны 3 основных вида прав
1.Право на чтение
2.Право на запись
3.Право на исполнение
Рассмотрим небольшое приложение.К примеру имеется скрипт навигации под названием navigate.php который позволяет прочитать,добавить/удалить,изменить правила навигации.
Осуществить разделение прав мы должны следующим образом
1)Должен ли иметь модератор доступ к файлу навигации вообще
2)Если имеет доступ,имеет ли он право на просмотр веток навигации(опять-таки,он может просматривать лишь определенные ветки)
3)Имеет ли он право вносить изменения в ветки(опять-таки,он может изменять лишь определенные ветки)
4)Могут ли его изменения сразу вступать в силу,или проходить через админа(опять-таки,могут вступать в изменения лишь определенные ветки)
Считаем,что каждый из предыдущих уровней прав является подмножеством следующего.(Хоть вышеприведенная система и линейно-зависима,но она бывает очень удобна вследствии того,что здесь четко прослеживается иерархия прав)
Значит,мы решились с определением наших прав,для нашего мини-приложения они состоят из четырех вышеприведенных пунктов.
Теперь решим вопрос о том,где и в какой форме хранить права.
На вопрос где можно ответить довольно однозначно - это БД,хотя вариант является не из лучших(по-моему мнению,лучше хранить их в файлах,хотя особых различий с точки зрения безопасности не наблюдается)
Теперь решим вопрос о том,в какой же форме хранить права.Но для начала рассмотрим нашу навигация и форму,в которой хранится сама навигация.
Форма навигации
Таблица БД.
id | parent | name | visible | rate |
id primary key индекс таблицы
parent родитель какой-либо субветки,если сам родитель,то параметр равен 0
name имя ветки
visible видимость ветки
rate ее уровень в ее области
На сегодня пожалуй все(я пишу ее онлайн,чтобы быстрее в поисковики попала) -
26 сентября 2007 г. 17:06, спустя 1 час 8 минут 35 секунд
rate ее уровень в ее области
непонял, зачем этот столбец? уровень доступа?https://smappi.org/ - платформа по созданию API на все случаи жизни -
26 сентября 2007 г. 17:09, спустя 2 минуты 59 секунд
нет,к примеру мы имеем несколько навигационных веток a1,a2,a3 у одного родителя A1.Но хотим изменить уровень a3 в области A1.Т.е. изменить порядок следования навигации:a1,a3,a2.Для этого параметр rate у a2 и a3 меняем местами -
26 сентября 2007 г. 17:26, спустя 16 минут 41 секунду
нет,к примеру мы имеем несколько навигационных веток a1,a2,a3 у одного родителя A1.Но хотим изменить уровень a3 в области A1.Т.е. изменить порядок следования навигации:a1,a3,a2.Для этого параметр rate у a2 и a3 меняем местами
дык мона и айдишники поменять…https://smappi.org/ - платформа по созданию API на все случаи жизни -
27 сентября 2007 г. 9:15, спустя 15 часов 49 минут 12 секунд
дык мона и айдишники поменять…
Очень нехороший способ,очень.. -
27 сентября 2007 г. 11:45, спустя 2 часа 30 минут 9 секунд
Нифига не понял из этой статьи…
Наверное лучше все-таки сначала в оффлайне писать. -
27 сентября 2007 г. 11:52, спустя 7 минут 10 секунд
как это относится к безопасности?все умрут, а я изумруд -
27 сентября 2007 г. 11:57, спустя 4 минуты 38 секунд
Нифига не понял из этой статьи…
Статья неокончена,если непонятно начала,укажите в чем проблема,постараемся ее устранитькак это относится к безопасности?
Ты меня удивляешь) -
27 сентября 2007 г. 11:58, спустя 51 секунду
как это относится к безопасности?
я тоже непонял…https://smappi.org/ - платформа по созданию API на все случаи жизни -
27 сентября 2007 г. 12:01, спустя 3 минуты 3 секунды
как это относится к безопасности?
Ты меня удивляешь)
если перехват прав с большим приоритетом, то это к SQL-инъекциям в твоем случае…
если это разграничение прав, то статья просто о правах… ничего интересногоhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
27 сентября 2007 г. 12:03, спустя 1 минуту 50 секунд
как это относится к безопасности?
я тоже непонял…
Блин,мне казалось,что права пользователей и безопастность проекта неразрывно связаны между собой,вдруг при глюкнутой выдаче прав модер одного подфорума сможет удалить все посты другого?Честно говоря не таких вопросов ожидал… -
27 сентября 2007 г. 12:06, спустя 3 минуты 36 секунд
про что ты говоришь это как стандарт де-факто, это просто должно быть.
если модер может удалить посты другого модера:
1. это глупость разработчика в проектировании и реализации проекта.
2. зачем модеру1 удалять посты другого модера2? может просто модера1 накуй послать и выписдить с проекта?https://smappi.org/ - платформа по созданию API на все случаи жизни -
27 сентября 2007 г. 12:12, спустя 6 минут 5 секунд
если модер может удалить посты другого модера:
1. это глупость разработчика в проектировании и реализации проекта.
2. зачем модеру1 удалять посты другого модера2? может просто модера1 накуй послать и выписдить с проекта?
1)SQL-иньекция тоже глупость разработчика
2)Доступ ограничен)
Безопасность появилась вследствии безалаберности,безграмотности разработчиков,вследствии которой проекты находятся под угрозой взлома.
Так что вышеперечисленное никак не отвергает причастия анализа прав к безопасности проекта -
27 сентября 2007 г. 12:13, спустя 16 секунд
вдруг при глюкнутой выдаче прав модер одного подфорума сможет удалить все посты другого?Честно говоря не таких вопросов ожидал…
хорошо вопрос другой
ты не думаешь, что при такой постановке задачи, необходимо разбирать случаи, ПОЧЕМУ произошла та или иная \"глюкнутой выдаче прав\"?
а не что такое права…1.Право на чтение
2.Право на запись
3.Право на исполнение
это похоже на права для действий совершаемых над файлами
в веб приложении (всякие cms и т.д.) там разделение прав немного другие (у меня допустим: просмотр, добавление, редактирование и удаление)
короче не понятно зачем..все умрут, а я изумруд -
27 сентября 2007 г. 12:18, спустя 5 минут 1 секунду
иногда к оказиям приводит и сама неудобная структура.в веб приложении (всякие cms и т.д.) там разделение прав немного другие (у меня допустим: просмотр, добавление, редактирование и удаление)
Просмотр - это чтение
Редактирование - это запись
Добавление - execute
Внимательно читай статьюВообще говоря права,которыми могут быть уполномочены модераторы зависят от самого разработчика
Отдельное сори за столь затяжную статью!В ближайшее время я ее закрою
Страницы: ← Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!