.htaccess защитить пароль, но разрешить типы файлов изображений
Мне нужно защитить паролем каталог с .htaccess, который я успешно выполнил. Но передняя часть веб-сайта была запрограммирована на ссылку на изображения в этом каталоге, защищенном паролем (не мной), но когда веб-страница пытается получить доступ к этим изображениям, она запрашивает у пользователя логин.
Возможно ли защитить паролем этот каталог, но разрешить любой доступ к любому типу файла изображения, например *.jpg и *.gif?
Мой текущий код .htaccess:
AuthName "Secure Area"
AuthUserFile "/home/siteuser/.htpasswds/public_html/admin/passwd"
AuthType Basic
require valid-user
Спасибо за любую помощь!
Ответы
Ответ 1
AuthName "Secure Area"
AuthUserFile "/home/siteuser/.htpasswds/public_html/admin/passwd"
AuthType Basic
require valid-user
<FilesMatch "\.(png|jpe?g|gif)$">
Satisfy Any
Allow from all
</FilesMatch>
Изменить, чтобы включить улучшение Shef
Ответ 2
Вы можете проверить все различные параметры конфигурации. htaccess предоставляет вам следующий сайт:
Глупые трюки htaccess
Ответ 3
Вы пытались поместить его в Filematch?
<FilesMatch "^.*(png|jpe?g|gif)$">
AuthName "Secure Area"
AuthUserFile "/home/siteuser/.htpasswds/public_html/admin/passwd"
AuthType Basic
require valid-user
</FilesMatch>
Ответ 4
Что вы можете попробовать - написать прокси-сервер изображения:
- Сохраните каталог, как он есть сейчас, с защитой паролем.
- В .htaccess в корне сайта, на котором связаны изображения, добавьте правило перезаписи для тех типов изображений, которые вы хотите. Это правило должно перенаправить вызов на обработчик PHP script.
- script должен оценить запрашиваемый путь, загрузить файл из файловой системы, вычесть его заголовок и отправить его клиенту с помощью
header()
, за которым следует содержимое файла изображений echo file_get_contents()
.
PHP не влияет на .htaccess, поэтому он должен иметь возможность читать необходимый файл и прокси-серверу для конечного пользователя.