Безопастность при выше всего? Защитите свои странички с помощью ".htaccess" и ".htpasswd"? Если на вашем веб-сервере есть странички к которым вы хотите закрыть доступ, но незнаете как, тогда эта статья для вас.
Для ограничения доступа к директориям веб сервера, будем использовать встроенный механизм авторизации web-сервера Apache через файлы ".htaccess" и ".htpasswd".
Немного о том, как это будет работать:
При попытке пользователя получить доступ к данным на веб-сервере, браузер спрашивает у пользователя его логин и пароль. Пользователь вводит свой логин и пароль, эатем бразуер отправляет данные на сервер. Сервер проверяет учетные данные пользователя модулем "mod_auth_basic" и разрешает или запрещает доступ, при этом браузер повторно запрашивает данные. Еcли пользователь нажмет кнопку "отмена" или "ESC" то сервер откроет страничку с ошибкой "Authorization Required".
Первым делом проверим настройки web-сервера apache. Для этого откроем файл настроек "/etc/httpd/conf/httpd.conf" (для ОС Red Hat, CentOS, Fedora). В настройках ищем строка "AllowOverride" и выставляем значение "ALL" еcли оно еще нестоит.
# AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # #AllowOverride None AllowOverride ALL
Перезапустим web server Apache.
sudo service httpd stop sudo service httpd start
Следующим этапом создаем файл .htaccess в директории которую хотим защитить (в моем случае это корневая директория web-сервера /var/www), используя для этого например утилиту cat.
cat > .htaccess << EOF AuthType Basic AuthUserFile /var/www/.htpasswd Require valid-user EOF
Описание:
AuthType Basic - задает использование модуля mod_auth_basic.
AuthUserFile /var/www/.htpasswd - задает путь к файлу с логинами и паролями. В моем случае файл лежит в корневой директории сервера.
Require valid-user - разрешает давать доступ только пользователям прошедшим авторизацию.
Ну и на последок создадим файл ".htpasswd", в котором будут храниться учетные данные пользователей (логин и пароль).
htpasswd -c /var/www/.htpasswd USER
USER - имя пользователя.
Если потребуется добавить еще одного пользователя в уже существующий файл ".htpasswd" используем утилиту htpasswd уже без ключа "-с".
htpasswd /var/www/html/.htpasswd USER
На этом все. При запросе странички из корневой директории сервера должно появиться приглашение в браузере с вводом логина и пароля. Комментируем, подписываемся ну и всем пока:)
Компонент комментариев CComment