Intereting Posts
опорные автоинкрементные столбцы? Объявление класса – переменная Конфигурация пользовательской загрузки Codeigniter Любое альтернативное решение для получения этой работы? Php-код работает неправильно, но работает код mysql Захватите оставшийся текст после последнего «/» в строке php Удалить арабский диакритический Самый эффективный способ индексирования возвращаемого массива? Почему mime_content_type () устарел в PHP? Можете ли вы решить эту проблему, которую меня попросили в интервью php? Подтвердить вход с помощью пароля Bcrypt Может кто-нибудь сказать мне, почему мой check_password не работает в codeigniter Javascript / PHP и часовые пояса Как преобразовать PNG в 8-битный PNG с помощью библиотеки PHP GD Использование PHP для генерации таблицы HTML со статическим подсчетом количества данных MySQL yii2: Пользовательская разбивка на страницы для Gridview в виде формы

.htaccess защитить пароль, но разрешить типы файлов изображений

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

Возможно ли защитить паролем этот каталог, но разрешить любой доступ к любому типу файла изображения, например * .jpg и * .gif?

Мой текущий код .htaccess:

AuthName "Secure Area" AuthUserFile "/home/siteuser/.htpasswds/public_html/admin/passwd" AuthType Basic require valid-user 

Спасибо за любую помощь!

 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> 

Изменить, чтобы включить улучшение Шефа

Вы можете проверить все различные параметры конфигурации. Htaccess предоставляет вам следующий сайт:

Глупые хитросплетения

Вы пытались поместить его в Filematch?

 <FilesMatch "^.*(png|jpe?g|gif)$"> AuthName "Secure Area" AuthUserFile "/home/siteuser/.htpasswds/public_html/admin/passwd" AuthType Basic require valid-user </FilesMatch> 

То, что вы можете попробовать, это написать прокси-сервер изображения:

  • Храните каталог, как сейчас, с защитой паролем.
  • На .htaccess в корне сайта, на котором связаны изображения, добавьте правило перезаписи для тех типов изображений, которые вы хотите. Это правило должно перенаправить вызов сценарию обработчика PHP.
  • Этот скрипт должен оценить запрошенный путь, загрузить файл из файловой системы, вычесть его заголовок и отправить его клиенту с помощью header() , за которым следует содержимое файла изображения echo file_get_contents() .

PHP не влияет на .htaccess, поэтому он должен иметь возможность читать необходимый файл и прокси-серверу для конечного пользователя.