В-третьих, файлом .htaccess Вы сможете создать "закрытую зону", в которую можно попасть используя пароль и логин. Например, папка для служебного пользования или администрирования. В этом случае, заведем на сервере дополнительную папку, назовем ее passwd (http://ваш_сайт.ru/passwd/). Создадим в ней временный файл test.php, из которого мы узнаем полный путь до этой папки на сервере, записав в него такие строки:
<?php
$path = getcwd ();
$path = str_replace ('\\', '/', $path);
echo $path;
?>
При запуске test.php (http://ваш_сайт.ru/passwd/test.php) узнаем
полный_путь_до_passwd_на_серве е
После этого, запишем в passwd файл .htpasswd с данными логина и пароля через ":", выглядеть .htpasswd будет так:
login

assword
Так будет выглядеть Ваш файл с парой "логин:пароль" в Windows, то есть просто записали в файл с паролями Ваши пароль и логин, и больше ничего не надо. Но на системах Linux его надо зашифровать. То есть, как появляется в базе новый пользователь с парой "логин:пароль" на системах Unix? Там администратор вводит в командную строку: htpasswd -nb userfiile login password. После этого, в файле userfiile появляется пользователь с именем Login и зашифрованным паролем типа d8bny9xqDGvHc. Он появляется после автоматической шифрацией его сервером Apache. Тогда строка login

assword в .htpasswd:
login:d8bny9xqDGvHc
При авторизации сервер поймет, что это пользователь login с паролем password. То есть, покажем как шифруется пароль сервером Apache:
<?php
$password = "ваш_пароль";
$path_t = substr ( md5 ( uniqid ($password)), 0, 3). "-56";
$password = crypt ($password, $path_t);
?>
На выходе такого скрипта и получим такой зашифрованный пароль, какой должен быть при работе самого сервера Apache. Закроем папку passwd для просмотра другими пользователями, как это сделать, мы рассмотрели в первом случае использования .htaccess, то есть запишем его в папку passwd со словами:
Options -Indexes
deny from all
Проверим запускается ли теперь наш файл test.php. Вы увидите, что не запускается, но нам он уже больше не нужен. Итак, мы создали папку passwd, узнали полный путь до нее, создали в ней файл с Вашими логин и паролем, плюс закрыли ее для просмотра другими пользователями.
Теперь создадим приватную папку, например privat (http://ваш_сайт.ru/privat/), в которую можно будет попасть, только, зная Ваш логин и пароль. Создаем в ней приватный файл privat.php (http://ваш_сайт.ru/privat/privat.php), например, для админских функций. И, наконец, записываем в нее .htaccess со следующими строками:
AuthType basic
AuthName 'Authorization...'
AuthUserFile 'полный_путь_до_passwd_на_серве ре/.htpasswd'
Require valid-user
DirectoryIndex privat.php
Что мы прописали в файле .htaccess в этот раз:
Первая строка - тип аутентификации
Вторая строка - что будет написано в диалоговом меню
Третья строка - откуда берем логин и пароль, полный путь до passwd мы ранее узнали.
Четвертая строка - для всех у кого совпали логин и пароль продолжить не отвергая
Пятая строка - при удачной авторизации переправляем пользователя на файл privat.php
Что в итоге, у нас получилось:папка: passwd ..
.htpasswd
login:d8bny9xqDGvHc
.htaccess
Options -Indexes
deny from all
папка: privat ..
privat.php Ваш недоступный скрипт
.htaccess
AuthType basic
AuthName 'Authorization...'
AuthUserFile 'полный_путь_до_passwd_на_серве ре/.htpasswd'
Require valid-user
DirectoryIndex privat.php
Теперь, чтобы пользователь попал на файл privat.php, ему надо пройти аутентификацию, иначе сервер выдаст ошибку.
Посмотреть как это выглядит можно здесь. Логин - pass, пароль - pass.
Попробуйте другие пароли и логины, Вы увидите, что к файлу privat.php доступа у Вас не будет. Кроме этого, после того как Вы авторизированы, больше пароль запрашиваться не будет.