Рейтинг:1

Замените AuthUserFile на сам пароль или укажите относительный путь к папке.

флаг br

У меня есть PHP-скрипт, который генерирует сотни каталогов, и в этих каталогах содержатся файлы CSV. Я могу защитить эти CSV-файлы с помощью AuthUserFile, если он указывает на абсолютный файл .htpasswd, но я хочу указать на созданный пользователем .htpasswd в каждом из этих каталогов.

  • Есть ли способ заменить: Аутусерфиле с самим паролем? Я уже сгенерировал его в своем PHP-скрипте.
  • ИЛИ как я могу сослаться на файл .htpasswd в том же каталоге, в котором он находится. Следующие действия не работают: AuthUserFile './htpasswd'
Рейтинг:0
флаг kz
  • Есть ли способ заменить: Аутусерфиле с самим паролем? Я уже сгенерировал его в своем PHP-скрипте.
  • ИЛИ как я могу сослаться на файл .htpasswd в том же каталоге, в котором он находится. Следующие действия не работают: AuthUserFile './htpasswd'

Вы не можете сделать ни того, ни другого, к сожалению. Аутусерфиле (т. е. HTTP-аутентификация) требует абсолютного пути к файлу (или относительного пути к Корневой сервер) и Выражение Apache синтаксис не поддерживается, чтобы сделать этот «динамический» AFAIK (как и с некоторыми другими директивами в Apache 2.4, например. ErrorDocument).

Однако, поскольку вы создаете каталоги, вы, вероятно, можете создать .htaccess(?) файл и соответствующий .htpasswd файлы для каждого каталога? Однако, .htpasswd файлы должны никогда храниться в каталоге, который они защищают, или даже в общедоступном HTML-пространстве. Они должны храниться вне общего дерева каталогов, над корнем документа. (И, вероятно, вы изначально хотели избежать .htaccess файлы, хотя с вашим предложения Я не совсем уверен?)

В качестве альтернативы, поскольку вы уже используете PHP для создания этих каталогов, а ваш сценарий PHP уже знает соответствующие пароли, то почему бы не использовать PHP для управления доступом к CSV-файлам?

Например:

  1. Используйте Apache mod_rewrite, чтобы внутренне переписать запрос для любого «защищенного» .csv файл в PHP-скрипт. Например:

    RewriteEngine включен
    
    # Все запросы к файлам ".csv" в дереве каталогов "/foo/" направляются в "/serve-csv.php"
    Правило перезаписи ^/?foo/.+\.csv$ /serve-csv.php [L]
    
  2. PHP-скрипт знает запрашиваемый файл (например. $_SERVER['REQUEST_URI']) и пользователей/пароли, которым разрешен доступ к этому файлу.

  3. PHP может управлять базовой HTTP-аутентификацией (которая вы, кажется, используете) или реализовать собственный интерфейс аутентификации (HTML-формы и т. д.)

  4. Если пользователь аутентифицирован, PHP читает запрошенный файл и передает его клиенту.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.