Symfony2 требует, чтобы его кеш был доступен для записи процессом, под которым он работает, даже в продакшене. Однако злонамеренное изменение этого кеша может привести к выполнению произвольного кода и/или произвольным изменениям в приложении (и его случайное повреждение может привести к сбою программного обеспечения).
Конечно, это хорошая практика — применять ограничения в ОС, которые предотвращают эскалацию любой компрометации общедоступных систем до таких произвольных степеней?
Одна мысль состоит в том, чтобы развернуть горячий, но доступный только для чтения кеш исполняемого кода (который в любом случае является статическим), чтобы производственная система не могла впоследствии изменить его; динамические данные, например. из Doctrine, по-прежнему можно кэшировать где-нибудь в доступном для записи месте, но он никогда не будет оцениваться для выполнения кода.
Это поддерживаемая конфигурация? Если да, то как? Или я слишком параноик?