Использование классов избирателей для проверки прав доступа в Symfony 2

  • PHP
  • 2 года назад

В Symfony права доступа к данным можно проверять используя ACL модуль, но чаще всего его использование является излишним,загромаждающим приложение. Куда удобнее использовать свои созданные правила, больше походящие на простые условия.

Для того, чтобы использовать классы избирателей (Voters), сначала стоит понять как Symfony с ними взаимодействует. Все они просматриваются каждый раз при вызове метода isGranted() службы security.context. Каждое правило либо разрешает, либо запрещает доступ к определенному ресурсу.

Читать далее...

Добавление и удаление пользователей на сервере CentOS 7

При создании сервера на Linux, добавление и удаление пользователей - одна из первых задач, с которой вам придется столкнуться. При первом запуске вы получаете только пользователя под именем root. Конечно он открывает вам полный доступ к системе, но использование такого пользователя всегда - не самая разумная идея, так как этот пользователь намного больше подвержен к атакам по безопасности, чем любой другой пользователь. Причиной тому является тот факт, что в таком случае все команды исполняются с правами администратора.

Читать далее...

Обзор самых частых ошибок HTTP протокола

Каждый раз, при обращении к веб серверу, в ответ вы получаете код статуса ответа. Эти коды делятся на пять основных групп, а каждый код имеет трехзначное значение. Группу кода легко определить по первой цифре:

  • 1хх - информационный
  • 2хх - удачное завершение
  • 3хх - перенаправление
  • 4хх - ошибка на стороне клиента
  • 5хх - ошибка на стороне сервера
Читать далее...

Composer - все дело в lock файле

  • PHP
  • 2 года назад

Composer давно и, видимо, надолго занял твердое место в качестве менеджера пакетов для PHP. Он довольно прост, эффективен и встречается повсеместно.

Известно, что достаточно создать файл composer.json, в котором просто перечислить список необходимых пакетов и их версий и запустить composer install.

Потом просто сохраняете вашу версию в систему контроля версий, и любой человек работающий с вами в команде просто выполняет composer install и получает проект со всеми установленными зависимостями.

Читать далее...

Работаем с data атрибутами в HTML5

До создания HTML5 работать с атрибутами в HTML элементах, мягко говоря, не доставляло удовольствия. Приходилось использовать такие атрибуты, как rel или class. А некоторые разработчики даже создавали свои атрибуты.

Но дело координально изменилось когда HTML5 предоставил нам возможность использования своих data атрибутов. Теперь довольно легко можно сохранять дополнительные данные стандартными средствами.

Читать далее...

Определение и проверка параметров конфигурации для бандла в Symfony 2

  • PHP
  • 2 года назад

После загрузки параметров из различных источников, их значение и структуру можно проверить при помощи “Definition” части компонента Config. Чаще всего параметры устроены иерархично. Так же, как правило, на них накладываются определенные ограничение, например, параметр может принимать только числовое значение или быть одним из нескольких предопределенных значений.

В следующем примере конфигурации используется четкая иерархия и несколько правил проверки значений (значение auto_connect может иметь только булево значение).

Читать далее...

Введение в сети, интерфейсы и протоколы

Для любого кто имеет дело с обслуживанием серверов необходимо базовое понимания сетевых технологий. Это поможет вам не только с легкостью публиковать свои услуги в интернет, но и также быстро находить и устранять проблемы связанные с сетевыми технологиями. Все, что я буду описывать, относится ко всем операционным системам и поможет в настройке различных сетевых служб на вашем сервере.

Читать далее...

Введение в HAProxy и принципы распределения нагрузки

HAProxy (High Availability Proxy) - популярный прокси сервер для Linux, Solaris и FreeBSD с возможностью балансировки нагрузки TCP/HTTP с открытым программным кодом. Его основная задача - повышение производительности серверной среды путем распределения рабочей нагрузки среди нескольких серверов (web, приложения, базы данных). Им пользуются такие известные проекты как GitHub, Imgur, Instagram и Twitter.

Читать далее...