Приветствую.
Емеются 2 файла:
1. dbvar.php
<?php
defined('_SOMESYSVAR') or die('
<HTML>
<HEAD>
<title>Ошибка</title>
<meta http-equiv="Refresh" CONTENT="2; URL=http://www.site.com/">
</HEAD>
</HTML>
<CENTER>
<H1>Access denied</H1>
</CENTER>');
// База данных
$dbname = 'test_main'; // База Данных
$dbuser = 'test_main'; // Юзер базы данных
$dbpwd = 'password9'; // Пароль базы данных
$host = 'localhost'; // Хост
$config = mysql_connect ("$host","$dbuser","$dbpwd"); //
mysql_select_db("$dbname",$config); //Выбрали базу данных
?>
2. lock.php
<?
defined('_SOMESYSVAR') or die('
<HTML>
<HEAD>
<title>ќшибка</title>
<meta http-equiv="Refresh" CONTENT="2; URL=http://www.site.com/">
</HEAD>
</HTML>
<CENTER>
<H1>Access denied</H1>
</CENTER>');
include("conf/dbvar.php");
if (!isset($_SERVER['PHP_AUTH_USER']))
{
Header ("WWW-Authenticate: Basic realm=\"Administration\"");
Header ("HTTP/1.0 401 Unauthorized");
exit();
}
else {
if (!get_magic_quotes_gpc()) {
$_SERVER['PHP_AUTH_USER'] = mysql_escape_string($_SERVER['PHP_AUTH_USER']);
$_SERVER['PHP_AUTH_PW'] = mysql_escape_string($_SERVER['PHP_AUTH_PW']);
}
$query = "SELECT pass FROM tusers WHERE user='".$_SERVER['PHP_AUTH_USER']."'";
$lst = @mysql_query($query);
if (!$lst)
{
Header ("WWW-Authenticate: Basic realm=\"Administration\"");
Header ("HTTP/1.0 401 Unauthorized");
exit();
}
if (mysql_num_rows($lst) == 0)
{
Header ("WWW-Authenticate: Basic realm=\"Administration\"");
Header ("HTTP/1.0 401 Unauthorized");
exit();
}
$pass = @mysql_fetch_array($lst);
if ($_SERVER['PHP_AUTH_PW']!= $pass['pass'])
{
Header ("WWW-Authenticate: Basic realm=\"Administration\"");
Header ("HTTP/1.0 401 Unauthorized");
exit();
}
}
?>
Появляется окошко авторизации, но при попытке авторизоваться (уже
копирую пароль и логин из базы) ничего не получается - снова появляется окошко авторизации.
Попытка вывести echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
Не даёт результата, - выводится Hello но PHP_AUTH_USER не появляется.
Возможно что эти переменные не определены, тогда где их можно определить?
Подскажите плиз, в чём может быть проблема.