morontt.info

Apache → как запаролить определённый URL средствами Apache

Иногда возникает такая ситуация, когда нужно запаролить опредённый URL средствами веб-сервера (Apache в данном случае). Выяснять почему и зачем не будем, так как надо всё-таки решать поставленную задачу.

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

<Location "/category/zhelezo">
    AuthType Basic
    AuthName "Only for administrator" 
    AuthUserFile "/path/to/.htpasswd"
    require valid-user
</Location>

Видно, что закрывается URL http://example.org/category/zhelezo. Путь к файлу .htpasswd должен быть абсолютным, иначе работать не будет (проверял). Упоминать даже не буду, что этот файл не должен быть доступен через веб :)

Добавлю ещё пару слов про .htpasswd

Интернет завален онлайн-генераторами паролей, но они совсем не обязательны. Лёгких путей искать не будем, на помощь придёт командная строка. Сгенерировать пароль для Васи Пупкина очень просто:

htpasswd.exe -cm /path/to/.htpasswd pupkin

Описывать ключи не буду, их все можно увидеть используя опцию --help. Просто сделаю скриншот и буду закругляться :)

опции htpasswd

g-plus-icon
comments powered by Disqus
Учтите, что комментарии добавляются только при включённом JavaScript в браузере. В ином случае информация хоть и не пропадёт бесследно, но будет отправлена в спам и вряд ли хоть кто-нибудь её увидит.
Поля, помеченные asterisk, обязательны для заполнения.
Адрес электронной почты нигде не отображается, необходим только для обратной связи.
Веб-сайт вводите в формате http://example.org, при желании, конечно.