Безопасно ли использование проекта: разрешения в проекте Symfony в производственной среде? - PullRequest
1 голос
/ 21 мая 2010

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

Приветствия

Ответы [ 2 ]

2 голосов
/ 21 мая 2010

Запись: совершенно очевидно, что необходимо иметь возможность кэшировать данные Выполнить: в случае каталога это означает, что листинг разрешен - то есть, чтобы увидеть, существует ли кэшированная версия

проект: задача разрешений безопасна для использования в prod, она настолько строгая, насколько это возможно, но при этом разрешает нормальное использование.
Также имейте в виду, что содержимое вашего каталога кэша не может быть доступно извне.

0 голосов
/ 27 мая 2010

Это хорошо для выделенной производственной среды (например, VPS или выделенного сервера), но, вероятно, это слишком допустимо, если вы используете общий хостинг - по умолчанию доступны все записи для кеша и папок загрузки, и вам действительно нужно только предоставить доступ к учетной записи веб-сервера (и, возможно, пользователю, который может загружать обновления в код).

Вы можете сделать свою собственную задачу, которая делает то же самое, но с более узкими правами:

  1. скопируйте задачу проекта: права доступа (lib / vendor / symfony / lib / task / project / sfProjectPermissionsTask.class.php) в папку lib / task
  2. переименуйте файл и класс
  3. изменить объявления в строках 30 и 31 (например, «проект» и «строго по разрешениям»)
  4. изменить разрешения в вызовах метода $this->chmod() в строках 46-68. Возможно, вам также придется создать метод $this->chown(), если вы действительно хотите заблокировать его.

(Вы также можете расширить класс sfProjectPermissionsTask, но, поскольку вы будете переопределять практически все, на самом деле это не выглядит полезным)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...