2015-02-13 2 views
0

Я загрузил файлы, расположенные в/web/uploads, и мне нужно предоставить доступ только определенным пользователям. Мои пользователи не в контексте безопасности (я знаю, что это плохое решение). Я думаю, что я должен переместить файлы из папки/web (например,/uploads) и создать контроллер, который будет обрабатывать доступ к файлам. Я прав или имею лучшее решение?Symfony2: Как защитить загруженные носители?

Symfony версия 2.5.10

ответ

1

Ваш подход является твердым. В действии контроллера вы можете настроить логические вызовы для проверки доступа к файлам.

Я бы рекомендовал создать Сервис для этого, чтобы вы могли повторно использовать его вне этого конкретного контроллера, если это было необходимо.

Вы можете прочитать немного больше на http://symfony.com/doc/current/book/service_container.html

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

+0

и сохранить ваши файлы в БД как BLOB: 1. вам не нужно генерировать уникальные имена файлов 2. не случайно перезаписывать возможные 3. развертывания остаются чистыми – Aitch

+0

С точки зрения производительности я бы не рекомендовал сохранять файлы в виде капель в база данных. – MichaelHindley

+0

И @Nihilnovi с опытной точки зрения, я бы не рекомендовал думать о производительности, если ваши приемочные тесты не заставили вас это сделать. Мой совет заключается только в том, что сохранение данных в базу данных намного чище и проще, чем запись на жесткий диск. Если этот доступ к БД является узким местом для вас, обеспечьте кеширование с помощью PHP или прокси-кеша. Во всяком случае, автор в порядке с вашим ответом. – Aitch

 Смежные вопросы

  • Нет связанных вопросов^_^