Итак, сегодня я столкнулся с задачей - запаролить одну из директорий своего сайта.
В общем то, тема наверное совсем бредовая, но многим пригодится, особенно начинающим.
Итак, используем мы вот что - .htaccess и .htpasswd.
Объясню опять же для начинающих разработчиков, почему это, а не то.
Файл .htaccess - первый обрабатываемый файл при любом запросе к серверу (если это не получение простой статической странички, например, которую то и паролить особого смысла нет, но и её скрыть можно), перед тем, как обработать скрипт, отдатьь какие либо данные или еще что сервер в первую очередь обращается к файлу .htacess и уже только после либо обрабатывает скрипт, либо отдает эррор код (404, 403 и тэдэ). Это и позволяет нам сохранять в безопасности то, что нам надо.
Итак, в директории, которую нам требуется закрыть, либо в корневом каталоге (если нужно закрыть весь сайт), создаём файлик .htaccess (убедитесь, что ваш хостинг разрешает конфигурирование вами сервера).
Если же он уже имеется, то открываем его для редактирования.
Итак, что нам нужно вписать туды:
AuthName "Любой текст" AuthType Basic Require valid-user AuthUserFile "полный путь к файлу .htpasswd"
В строке AuthName как правило указывается имя того, к чему мы пытаемся получить доступ. Но по иде можно писать всё, что душе угодно, хоть нах*й послать
В строке AuthUserFile указывается путь к файлу с данными для входа, путь выгляжит примерно так для апач сервера:
/home/my_site/.htpasswds/.htpasswd
Если сервер на шинде, то:
c:/my_site/.htpasswd
Всё зависит от директории вашего сайта.
Файл .htpasswd генерируется с помощью утилиты htpasswd из комплекта Apache. Обычно, для этого нужно написать в командной строке следующее:
htpasswd -bc .htpasswd имя_пользователя пароль_пользователя
После этого нужно переместить полученный файл в директорию, указанную в AuthUserFile.
О других функциях утилиты htpasswd можно узнать запустив ее из командной строки без параметров.
После выполнения описанных действий, при попытке обращения к защищенному сайту или каталогу, появится окно с просьбой ввести логин и пароль для входа на сайт.
Теги: паролим часть сайта