|
|
|
| вот скрипт:
<?php
if(!isset($PHP_AUTH_USER))
// пользователь неизвестен
{
Header("WWW-Authenticate: Basic realm=\"Admin Center\"");
Header("HTTP/1.0 401 Unauthorized");
exit();
}
else
// пользователь известен, неизвестен пароль
{
// введенный пароль
$password = "$PHP_AUTH_PW";
// просмотр базы для получения реального пароля
$link = mysql_connect($dbhost, $dbuser, $dbpasswd);
mysql_select_db($dbname);
$result=mysql_query("SELECT password FROM auth WHERE name=\"$PHP_AUTH_USER\"");
$row=mysql_fetch_array($result);
// проверка
if ($row==NULL)// пользователя с таким именем нет в БД, выходим
{
Header("WWW-Authenticate: Basic realm=\"Admin Center\"");
Header("HTTP/1.0 401 Unauthorized");
exit();
}
else// пользователь с таким именем есть в БД, проверка пароля
{
$real_password="$row[password]";
if ($real_password!=$password)
{
Header("WWW-Authenticate: Basic realm=\"Admin Center\"");
Header("HTTP/1.0 401 Unauthorized");
exit();
}
}
}
?>
|
неплохо было бы скрипт на базу auth бросить. | |
|
|
|
|
|
|
|
для: LINKIN
(22.07.2005 в 13:37)
| | не много не одупляюсь в РНР и в этом скрипте в частности... к нему никаких запрсов в БД делать не нужно?
где собсна прописуются имена пользователей? | |
|
|
|
|
|
|
|
для: LINKIN
(22.07.2005 в 14:08)
| | Имена пользователей прописываются в специальной базе данных auth. | |
|
|
|
|
|
|
|
для: cheops
(22.07.2005 в 14:15)
| | а какой код на ее создание? | |
|
|
|
|
|
|
|
для: LINKIN
(22.07.2005 в 14:18)
| | Да самый не замысловатый
CREATE TABLE auth (
name tinytext NOT NULL,
password tinytext NOT NULL
) TYPE=MyISAM;
|
| |
|
|
|
|
|
|
|
для: cheops
(22.07.2005 в 14:27)
| | Да только было бы ще не плохо проиндексировть ! =) | |
|
|
|