2015-11-08 3 views
0

У меня есть папка «файлы» внутри webroot. Мне нужно заблокировать доступ к этой папке (возможно, с htaccess), но мне нужно разрешить некоторым пользователям видеть изображения внутри. Как я могу отфильтровать запрос, взять маркер из запроса (заголовок или сообщение) и разрешить некоторым пользователям отображать изображения из мобильного приложения? Мне нужно создать контроллер? ThanksCakephp 3 - Фильтровать доступ к изображениям webroot

ответ

1

Вы можете использовать Dispatch Filters. Он позволяет условно использовать фильтры на основе типа запроса, а затем блокировать или изменять путь к файлу.

Встроенный AssetFilter имеет много общего с вашим вопросом.

+0

спасибо Филлаф. Могу ли я спросить вас, как вернуть пустой ответ или ошибку сообщения, например, если пользователь не зарегистрирован? Кажется, что изменение встроенного фильтра (я вставил «exit» во все методы) ничего не меняет, и изображение продолжает обслуживаться клиентом. – aslare

+0

Кажется, что «_getAssetFile ($ url)» не запускается, когда я пишу URL-адрес изображения внутри веб-браузера в браузере. Изображение всегда видно. – aslare

+0

По умолчанию .htaccess не проходит через торт, если в URL-адресе используется точный путь к файлу. Вы можете использовать поддельный путь и сопоставить правильный путь активов от фильтра или удалить строку «RewriteCond» в .htaccess. – Phillaf

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