PHP → Битовые операции в PHP на примерах
Навеяно статьей об обработке критических ошибок в PHP. Обратил внимание, что несмотря на то, что коды ошибок в PHP специально заточены под битовые операции, тем не менее, что в примерах статьи, что в комментариях, для проверки кодов ошибок используются обычные операторы сравнения.Например, встречались такие варианты:
if ($error['type'] == E_ERROR || $error['type'] == E_PARSE || $error['type'] == E_COMPILE_ERROR){…}илиif(in_array($error['type'], array(E_ERROR, E_PARSE, E_COMPILE_ERROR)) {…}В связи с этим решил написать небольшую статью о битовых операциях с примерами их использования.
Android → Права доступа. Спасибо операторам связи!
Никому нельзя верить! Android всегда запрашивают набор прав на доступ к разным сервисам вашего телефона. Всегда. Почти.

Как оказалось подсистему проверки прав можно сломать. Причем ломают производители телефонов и операторы связи. В данный момент известно о том, что Motorola Droid X и Samsung Epic 4G имеют недочет в прошивке, который позволяет подавлять запросы на отправку смс, запись разговора итд итп. Ребята из Университета Северной Каролины(Америка) быстро нашли источник проблемы. Им оказались предустановленные оператором приложения. Видно оставив дырку «для своих» разработчики не задумались, что «свои» бывают разные. Как итого, можно предполагать наличие подобных дыр на всех прошивках от операторов связи.

Как оказалось подсистему проверки прав можно сломать. Причем ломают производители телефонов и операторы связи. В данный момент известно о том, что Motorola Droid X и Samsung Epic 4G имеют недочет в прошивке, который позволяет подавлять запросы на отправку смс, запись разговора итд итп. Ребята из Университета Северной Каролины(Америка) быстро нашли источник проблемы. Им оказались предустановленные оператором приложения. Видно оставив дырку «для своих» разработчики не задумались, что «свои» бывают разные. Как итого, можно предполагать наличие подобных дыр на всех прошивках от операторов связи.
Блог компании Ascensio System → Разграничение прав доступа в TeamLab — строго храни корпоративную тайну!
Вот и лето на дворе, у кого-то затишье, но не у нас! Хотим порадовать вас новым функционалом корпоративной платформы TeamLab. Руки наших оч. умелых разработчиков дошли до разграничения прав доступа аж сразу в двух стратегически важных для бизнес-процессов модулях «Управление проектами» и «Документы». Здесь должны быть бурные и продолжительные аплодисменты, ведь по результатам опроса пользователей именно этих, как любят говорить у нас в России, «фич» вам так не хватало.
Linux для всех → Основы Linux от основателя Gentoo. Часть 3 (2/4): Модель прав доступа
Второй отрывок третьей части серии руководств Linux для новичков. В котором вы сможете узнать, об одном из основных средств обеспечения безопасности в Linux. А именно, правах доступа и модели владения файлами.
Персональные блоги → Изучение шаблонов проектирования. Топик-вопрос
Здравствуй, Хабрасообщество. Пишу в личном блоге, так как этот топик является вопросом. Итак, совсем недавно я озаботился использованием вменяемых шаблонов проектирования в своих похапешных приложениях и мне встретился первый вопрос, который я не смог нагуглить.
Суть такова: допустим у нас есть доменные объекты «компания», «пользователь», «виртуальный файл», «виртуальная папка». Здесь более-менее все понятно — создаем фабрики, data mapper и хранилища. Но создатель файла может назначить права доступа к файлам для сотрудников, и тогда приходится делать проверку прав доступа. Первая мысль — передавать объект «Пользователь» в метод поиска хранилища, дабы этот метод провел проверку прав доступа, но по мне это выглядит варварством. Что если другая часть приложения захочет заполучить какой-то файл? Делать аргумент типа «Пользователь» необязательным?
Пересмотрел Фаулера, наткнулся на Service Layer. Он проксирует доступ клиентом к объектам домена. Но не сумел нагуглить ничего внятного.
Является ли акл частью бизнес-логики? Следует ли разграничивать акл и ему подобное от доменных объектов и их хранилищ?
Суть такова: допустим у нас есть доменные объекты «компания», «пользователь», «виртуальный файл», «виртуальная папка». Здесь более-менее все понятно — создаем фабрики, data mapper и хранилища. Но создатель файла может назначить права доступа к файлам для сотрудников, и тогда приходится делать проверку прав доступа. Первая мысль — передавать объект «Пользователь» в метод поиска хранилища, дабы этот метод провел проверку прав доступа, но по мне это выглядит варварством. Что если другая часть приложения захочет заполучить какой-то файл? Делать аргумент типа «Пользователь» необязательным?
Пересмотрел Фаулера, наткнулся на Service Layer. Он проксирует доступ клиентом к объектам домена. Но не сумел нагуглить ничего внятного.
Является ли акл частью бизнес-логики? Следует ли разграничивать акл и ему подобное от доменных объектов и их хранилищ?
Персональные блоги → Cydia и обновление списков репозитариев
С установкой Сидии и последующими мучениями, связанными с установкой и удалением программ из нее, стал раздражать постоянный update списков репозитариев при запуске. Увидел надпись Cache failure и озадачился тем, что просто сидия не может сохранить нормально кеш, то есть перезаписать эти файлы, отсюда следует, что не хватает прав доступа. Все таки я нашел где это все хранится ...
Всего навсего нужно выставить права на файлы, которые Сидия не может перезаписать. Сложно сказать какие, поэтому мы сделаем права на запись всем файлам.
Эти файлы находятся в папке /var/lib/apt/lists
В WinSCP это делается так:
- Заходим в выше указанную папку.
- Выделяем файлы (например через + — плюс и последующим нажатием enter, удостоверившись что маска указана как *.* )
- Далее вызываем контекстное меню и жмешь Properties или еще проще просто после выделения нажимаем F9.
- Теперь выставляем права… все R и W должны быть в галках или ввести 0666 в текст поле. Нажимаем ОК. Для опытных: chmod 0666
ваш рутовый пароль, если вы его не сменили то это alpine
cd /var/lib/apt/lists
su root
Password: введите рутовый пароль
find -name "*.*" -exec chmod 0666 {} \ ;
Резюме:
Теперь чтобы обновить репозитарии нужно в разделе Changes сверху нажать кнопку RefreshК сожалению Сидия перезаписывает эти файлы с опять не совсем верными правами, так что если в течении некоторого времени опять будет надоедать update, переходим к пункту 1.
Спасибо за внимание.Просьба не ругаться, это мой первый пост :))PS Это не значит что вам придется менять права на файлы каждый раз после обновления списков репозитария. А только когда возникнет необходимость. Сам уже раз 5 вручную обновил. Полет нормальный.
CakePHP → Минималистичная система разделения прав по группам за 5 минут
Замучались с ACL? Есть пожалуй самое простое решение для разделения прав по группам. Никаких ACL таблиц, никакого дерева прав. Но если вам требуется задавать права персонально для каждого пользователя, то это решение точно не для вас.
Семантическая Сеть → Семантический веб как операционная система: с пользователями и правами доступа!
Очень скоро семантические сетевые данные будут точно размечены, так что искать их станет существенно легче. Это еще сильнее ускорит развитие тренда, когда Интернет и глобальное сообщество превратятся в две тесно связанных друг с другом сети, которые будут постоянно увеличивать взаимосвязи и прозрачность друг для друга. Обязаны ли мы жертвовать анонимностью для того, чтобы сохранить доверие для такого сотрудничества? Или мы увидим возникающую «новую сеть», которая будет функционировать как в своем роде операционная система с различными пользователями и правами, — и будет запущена на этой глобальной машине, которую мы и называем Интернетом.
Персональные блоги → Индексация прав в многопользовательских сервисах.
Этот текст посвящен тому, как ускорить выборку закрытых данных в многопользовательских проектах.
Некоторые вещи рассмотренные вначале могут быть уже хорошо вам известны, но учитывая, что вопросы о разграничении прав доступа задаются регулярно, я счел нужным рассмотреть их подробнее.
Для гуру ценным там может быть разве что обоснования, чем именно нехорош этот метод. Если для вас это и так понятно, перейдите сразу к пункту «двоичные маски», там и содержится самое основное.
Многие сервисы позволяют пользователю размещать в сети различные данные, при этом самому размещающему, как правило, требуется ограничивать круг лиц, которые могут просматривать, комментировать его записи или изображения. Для этих целей разработчики создают различные системы контроля прав.
Некоторые вещи рассмотренные вначале могут быть уже хорошо вам известны, но учитывая, что вопросы о разграничении прав доступа задаются регулярно, я счел нужным рассмотреть их подробнее.
Для гуру ценным там может быть разве что обоснования, чем именно нехорош этот метод. Если для вас это и так понятно, перейдите сразу к пункту «двоичные маски», там и содержится самое основное.
Многие сервисы позволяют пользователю размещать в сети различные данные, при этом самому размещающему, как правило, требуется ограничивать круг лиц, которые могут просматривать, комментировать его записи или изображения. Для этих целей разработчики создают различные системы контроля прав.
Firefox → Firefox для всей семьи с помощью Glubble
Новое дополнение Glubble позволяет родителям сделать из Firefox красочный браузер с ограничением сайтов по «белому списку» специально для своих детей.После установки Glubble вы создаёте свой собственный «мир Glubble» и добавляете свою учётную запись с правами «инспектора». Затем вы создаёте учётные записи с различными именами пользователей и паролями для своих детей. Там вы для каждого ребёнка составляете список разрешённых сайтов.
Когда ребёнок откроет Firefox, он увидит красочную «шкурку» Лисицы с большим количеством графики и получит доступ только к разрешённым родителями сайтам. Если ребёнок заходит на сайт, не значащийся в «белом списке», то запрос на разрешение этого сайта отправляется родителям. При запуске Firefox «инспектор» получит весь список запросов, после чего сможет принять или отклонить их.
Что вы скажете по поводу реализации данного плагина? Как думаете, стоит ли детей вообще ограничивать в выборе сетевых ресурсов? Если у вас есть дети, то какие способы ограничения вы используете, если, конечно, используете?
via Lifehacker.com.