|
|
|
| Это продолжение темы http://www.softtime.ru/forum/answer.php?id_forum=1&id_theme=1347. Изменить имя можно следующим образом
<?php
$dbhost = "localhost";
$db_name = "test";
$dbuser = "root";
$dbpassword = "kfvth275";
$dbcnx = @mysql_connect($dbhost,$dbuser,$dbpasswd);
$dbname = "$PHP_AUTH_USER";
if (!$dbcnx)
{
exit("В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.");
}
if (!@mysql_select_db($db_name,$dbcnx))
{
exit("В настоящий момент база данных недоступна, поэтому коректное отображение страницы невозможно.");
}
if(!isset($PHP_AUTH_USER))
{
Header("WWW-Authenticate: Basic realm=\"Access denied\"");
Header("HTTP/1.0 401 Unauthorized");
exit();
}
else
{
$password = "$PHP_AUTH_PW";
//$link = mysql_connect($dbhost, $dbuser, $dbpassword);
//mysql_select_db($dbname);
$result=mysql_query("SELECT password FROM auth WHERE name=\"$PHP_AUTH_USER\"");
if(!$result) exit(mysql_error());
$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=
\"Access denied\"");
Header("HTTP/1.0 401 Unauthorized");
exit();
}
}
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(31.12.2004 в 21:16)
| | Теперь пхп ругается на скобку в 11 строчке
Parse error: syntax error, unexpected '}' in D:\server\auth.php on line 11 | |
|
|
|
|
|
|
|
для: _LG_
(31.12.2004 в 21:21)
| | Ага, есть такое дело - поправил. | |
|
|
|
|
|
|
|
для: cheops
(31.12.2004 в 21:32)
| | А код вставишь поправленный?
И к стати у тебя есть ICQ и какой нибудь мессенджер? | |
|
|
|
|
|
|
|
для: _LG_
(31.12.2004 в 21:35)
| | >А код вставишь поправленный?
Я исправил, тот который двумя постами выше.
>И к стати у тебя есть ICQ и какой нибудь мессенджер?
Я стараюсь не пользоваться ими, так как удачные решения будут недоступны другим, а в форуме это всегда можно почитать, кроме того, вопящая аська не располагает к размышлению... да и аська представляет очень удобный маркер, если при соединении по модему, каждый раз назначается новый IP-адрес, то номер аськи остаётся постоянной и можно легко находить взломанную машину... | |
|
|
|
|
|
|
|
для: cheops
(31.12.2004 в 21:53)
| | cheops блин, я уже не знаю что делать, опять сообщение выдалось В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.
Может у меня программы какие нибудь глючные, в коде вроде сейчас всё нормально. Чё ей ещё надо? | |
|
|
|
|
|
|
|
для: _LG_
(01.01.2005 в 21:29)
| | Хм... поробуйте убрать блок
<?php
if (!$dbcnx)
{
exit("В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.");
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(01.01.2005 в 23:00)
| | Я вообще всю строчку вырезал с проверкой
if (!$dbcnx)
{
exit("В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.");
}
if (!@mysql_select_db($db_name,$dbcnx))
{
exit("В настоящий момент база данных недоступна, поэтому коректное отображение страницы невозможно.");
}
|
Получается что проверка портит работоспособность или как объяснить такую странную работу скрипта, и куда следует писать код который будет выполняться после правильного ввода пароля. | |
|
|
|
|
|
|
|
для: _LG_
(02.01.2005 в 01:53)
| | Нет строка
mysql_select_db($db_name,$dbcnx)
|
в каком-то виде должна остаться, иначе мы вернёмся к исходной позиции там где у нас не выбирается база данных. | |
|
|
|
|
|
|
|
для: cheops
(31.12.2004 в 21:16)
| | Чёт я ничё не понял что ты хотел мне сказать | |
|
|
|
|
|
|
|
для: _LG_
(02.01.2005 в 17:33)
| | Я имее ввиду вот такой вариант:
<?php
$dbhost = "localhost";
$db_name = "test";
$dbuser = "root";
$dbpassword = "kfvth275";
$dbcnx = @mysql_connect($dbhost,$dbuser,$dbpasswd);
$dbname = "$PHP_AUTH_USER";
if (!@mysql_select_db($db_name,$dbcnx))
{
exit("В настоящий момент база данных недоступна, поэтому коректное отображение страницы невозможно.");
}
if(!isset($PHP_AUTH_USER))
{
Header("WWW-Authenticate: Basic realm=\"Access denied\"");
Header("HTTP/1.0 401 Unauthorized");
exit();
}
else
{
$password = "$PHP_AUTH_PW";
//$link = mysql_connect($dbhost, $dbuser, $dbpassword);
//mysql_select_db($dbname);
$result=mysql_query("SELECT password FROM auth WHERE name=\"$PHP_AUTH_USER\"");
if(!$result) exit(mysql_error());
$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=
\"Access denied\"");
Header("HTTP/1.0 401 Unauthorized");
exit();
}
}
}
?>
|
он что пишет? | |
|
|
|