Пароль на фаил

hohoho

Новичок
Пароль на фаил

У меня такой вот вопрос:
Я в php ещё не очень хорошо освоился, написать нормальную аутентификацию я не смогу, а движок почти уже дописан - менять слишком много придётся. В корне у меня лежат два файла index.php и admin_cp.php. Нужно что бы к admin_cp.php доступ имел только админ, можно ли ограничить доступ к нему средствами апача с помощью .htaccess и .htpasswd? И насколько это будет бесопасно? Естественно, я позже постараюсь заменить это всё на проверку пользователя в самом скрипте, дело в том что я просто уже не успеваю разобраться - сроки жмут. В поиске смотрел там только про директории есть материал...
 

svetasmirnova

маленький монстрик
Положи admin_cp.php в отдельную папку и закрой её паролем. Как: см. в мануале апача. А насколько это безопасно? Авторизация средствами апача сама по себе надёжная штука. И если движком управляют перечисленные 2 файла: безопасно ;) А если нет: зависит от реализации. То есть существуют ли админские скрипты, которые можно будет запустить, набрав их адрес в браузере.
 

hohoho

Новичок
Не, запустить можно только эти два файла. Проблема в том, что как бы у меня уже всё подписано так, что админка должна находиться в корне, если начать что-то менять может много чего потом глючить ((( Значит запаролить фаил не вариант да?
 

chery

Новичок
Создаёшь одну страничку для показа содержимого (index.php) и одну для сообщения об отказе в доступе (к примеру error.html). В каталог с этими файлами ложешь .htaccess и в нём прописываешь:
PHP:
ErrorDocument 401 /путь к папкам/error.html
AuthUserFile /путь к папкам/.htpass
AuthGroupFile /dev/null
AuthName "Realm-Name"
AuthType Basic
require valid-user
в файле .htpass у тебя содержат пароли:
например
PHP:
user1:mgj59gjssl
Чтобы создать такой файл тебе нужно воспользоваться утилитой htpasswd:

PHP:
htpasswd -bc /путь к каталогу/.htpass user1 pass1
 

svetasmirnova

маленький монстрик
chery
Это ему закроет именно файл admin_cp.php, оставив остальные открытыми?
 

chery

Новичок
svetasmirnova]
Пароль будет запрашиваться при обращении к admin_cp.php и к index.php
 

hohoho

Новичок
Блин, ну так а зачем это надо? мне если мне нужно закрыть доступ только на admin_cp.php?
 

white phoenix

Новичок
hohoho
> написать нормальную аутентификацию я не смогу
Такая как через .htaccess, делается на PHP в несколько строк:
PHP:
$user = 'admin';
$password = 'god';
if ($_SERVER['PHP_AUTH_USER'] != $user or $_SERVER['PHP_AUTH_PW'] != $password)
{
 header('WWW-Authenticate: Basic realm="Restricted area."');
 header('HTTP/1.0 401 Unauthorized');
 exit('Access denied.');
}
echo 'Secret';
Через .htaccess:
<Files admin_cp.php>
AuthType Basic
AuthName "Restricted area"
AuthUserFile .htpasswd
require valid-user
</Files>
> И насколько это будет безопасно?
Отвечу так: пока еще не сломали ;)
 
Сверху