Ш
</body>
</html>
t'A-î
Стоит выложить в сети фото то
-
и ты
разграничения
доступа
к
отдельным *д>
вей*
начинаешь интересовать как личность!
скриптам, а не на всю папку в целом.
:х-?Д
Enter password
Пользователь;
Пароль;
Теперь попробуем загрузить что-нибудь из этой
папки, набрав в браузере адрес
m u l t i m e d i a / a d m i n .
Появится окошко с требова-
нием ввести пароль
( р и с .
1 ) .
Если будем пытаться вво-
дить неверный логин и па-
роль, то окошко с требова-
нием авторизоваться будет
возникать
снова.
Если
на-
жмем на кнопку
“ О т м е н а ” ,
то
увидим
сообщение
об
отказе в доступе
( р и с . 2 ) .
И
только
указав
требуе-
мые логин и пароль (admin:
admin), мы получим доступ
к папке. Такой доступ будет
сохраняться до тех пор, по-
ка не закроем окно (все окна) браузера.
С р е д с т в а Р Н Р
Т
акой способ удобен,
когда нам
необходимо
ограничить доступ именно к какой-то папке,
например, к папке с файлами для скачки. Если же
нам
необходим
более
гибкий
контроль доступа,
Обратите
внимание
на то,
что такую конструк-
цию следует указывать в скрипте в самом его на-
чале, чтобы до вызова функции header() не было
ни единого вывода в браузер, например, echo.
Такая авторизация (средствами НТТР-
заголовка
401)
называется
базовой
HTTP-авторизацией.
С
Г ] Сохранить пароль
Рис
.
1
QK
О тм ена
А в т о р и з а ц и я с е с с и е й
Т
A u t h o r iz a t io n
R e q u ir e d
T h is s e r v e r c o u ld n o t v e r ify th a t y o u a r e a u th o r iz e d to a c c e s s th e d o c u m e n t r e q u e s te d .
E ith e r y o u s u p p lie d th e w ro n g c r e d e n tia ls ( e .g ., b a d p a s s w o r d ), o r y o u r b r o w s e r d o e s n 't
u n d e rs ta n d h o w to s u p p ly th e c r e d e n tia ls r e q u ir e d
Apache/1.3.27 Server at multimedia Port 80
ретий способ - авторизовать поль-
зователя
при
помощи
сессий.
Как
работают сессии, вы уже могли узнать из
предыдущих статей, а как это применяют
для авторизации, посмотрим на примере
для
нашего сайта.
Сначала создадим
в
базе данных таблицу для хранения логи-
нов и паролей администраторов, например, так:
л: .г' '■
I
$link = @mysql_connect(“localhost”, “multime-
dia
user", “ 12345”);
if(!$link){
écho “невозможно подключиться к серверу:
“.mysql_error();
exit;
}
if(!mysql_select_db(“multimedia”)){
écho “невозможно подключиться к БД:
“.mysql_error();
exit;
}
I
С
I
m
.
Рис. 2
можно воспользоваться авторизацией при помо-
щи средств РНР. Удалим папку admin и напишем в
папке multimedia тестовый скрипт test.php:
<^9
;
$login = @$_SERVER[‘PHP_AUTH_USER’];
Ipassword = @$_SERVER [ ‘ PH P_AUTH_PW’ ] ;
m
<
її
•;IS
:
*
if( $login 1= “admin” 11 $password != “admin” ) {
header(‘WWW-Authenticate: Basic realm=”Enter
password’” );
header(‘HTTP/1.0 401 Unauthorized’);
echo ‘Доступ к этой странице невозможен без
т
%
>
.
• -.*• ••
•1
авторизации.’;
î
«
:
exit;
}
else echo “<р>Привет, $login</p>”;
|
?>
Этот пример делает то же самое. Что и автори-
зация при помощи .htaccess,
но,
во-первых, этот
способ дает больше возможностей для проверки
пароля (например, с сохранением паролей в базе
данных), а во-вторых, предоставляет возможность
mysqLque1
' '(“CREATE TABLE users (“.
u_id' INT NOT NULL autojncrem ent,”.
“'u_name' VARCHAR( 128 ) character set utf8 col-
late utf8_bin NOT NULL,”.
u_mail' VARCHAR( 128 ) NOT NULL ,”.
“'u jo g in ' VARCHAR( 128 ) NOT NULL,”.
U_password' VARCHAR( 32 ) NOT NULL ,”.
“'u_area' VARCHAR( 128 ) NOT NULL,”.
1
“'u_privilege' VARCHAR( 128 ) NOT NULL ,”.
“PRIMARY KEY ('u jd ','u jo g in '),”.
“UNIQUE K E Y'ujd' ('u jd '))”);
:;j:
$err = mysql_error();
lf($err<>””) echo “<ВР>Ошибка: “.$err.”<BR>”;
mysql_query(“INSERT
INTO
users
(
ujogin,
*u_password ) VALUES(‘admin’, ‘admin’ )”);
Поясню код, хотя все и так уже должно быть по-
нятно.
Процедура подключения к БД уже должна
быть вам известна из предыдущих статей. Коман-
да mysql_query создает таблицу с именем “users”.
Поле u jd , идентифицирующее пользователя в БД
для
управления
списком
пользователей,
имеет
опцию автоинкремента. Т.е. это поле нет необхо-
димости
инициализировать каким-либо значени-
предыдущая страница 36 Компьютер 2011 08 читать онлайн следующая страница 38 Компьютер 2011 08 читать онлайн Домой Выключить/включить текст