Как и где лучше хранить документы на сайте?
1) создаете папку для документов за пределами публичной папки (той, в которой index.php и статика)
2) создаете экшен для загрузки файлов, помещаете туда эти файлы, привязываете файл к пользователю на уровне базы данных
3) отдача файла для просмотра должна производиться только через экшен (чтобы не было прямого доступа к файлу методом подбора урла), с проверкой, что только юзер и админы могут его просматривать
Видел подобный пример когда AWS учил. Документ грузился напрямик в S3 по токену с веб сервера. Без токена никому нет никакого доступа. Как-то так.