SolveItproblems

SolveITProblems is a project of QFormat.net intellectual club

SolveITProblems это проект интеллектуального клуба QFormat.net

среда, 20 июля 2011 г.

Перенаправление с .htaccess и ограничение доступа с .htpasswd

Сегодня столкнулся с задачей перенаправления с директории или файла сервера Apache. Поискав в инете нашел следующее решение:
Создаем в нужной директории файл с названием ".htaccess". Файлом .htaccess можно решить множество задач, но для перенаправления прописываем в файле
RedirectMatch / http://www.site.com
Здесь / задает перенаправление с данной директории и также всех подкаталогов, http://www.site.com адресс на который идет перенаправление.
Можно также задать перенаправление с файла
RedirectMatch /file.php http://www.site.com
Одновременно с этим стоял вопрос ограничения доступа к директориям(файлам) на Apache. Для этого:
В командной строке командой cd C:\apache\bin переходим в директорию /apache/bin где по умолчанию стоит файл htpasswd.exe, который входит в стандартную конфигурацию Apache. Дальше в командной строке прописываем
htpasswd -cm .htpasswd user
Команда дважды запросит ввести пароль и создаст файл .htpasswd внутри которого будет записан user как логин и введенный пароль. Файл будет сохранен в директории apache/bin, его лучше потом перекинуть в директорию к которой мы и ограничиваем доступ.
Ключ с - указывает на необходимость создания нового файла с паролями. Если файл уже есть то он будет перезаписан. В последующих добавлениях новых логинов и соответсвующих им паролей не следует писать этот флаг.
Ключ m - определяет шифрование по алгоритму MD5. Если требуется сохранять пароли без шифрования то следует заменить флаг m на p.
Далее нужно создать форму которая будет осуществлять проверку введенного логина и пароля с сохраненными в файле .htpasswd , при входе в данную директорию.
Создаем файл .htaccess с содержанием:
AuthType Basic
AuthName "Private zone. Type your login and password!"
AuthUserFile C:\dir1\dir2\...\dirn\.htpasswd
require user admin root
Здесь C:\dir1\dir2\...\dirn\.htpasswd путь к файлу с названием .htpasswd в котором хранятся логины и пароли.

Комментариев нет:

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