Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Не работает авторизация


Автор: champion 24.7.2005, 08:17
Вот код:
Код

<?
if (isset($_GET['exit']))  { echo "<script>window.close();</script>";}
include("config.php");
include("functions.php");
if (!isset($HTTP_SERVER_VARS['PHP_AUTH_USER']))
 {
  header("WWW-Authenticate: Basic realm=\"System MWS, admin-panel\"");
  header("HTTP/1.0 401 Unauthorized");
  print_r($_SERVER);
  echo "<center><font size=10><b>ACCESS DENIED!</b></font></center>\n";
  exit;
 }
else
{
  if (( $HTTP_SERVER_VARS['PHP_AUTH_USER']!=$login) and ($HTTP_SERVER_VARS['PHP_AUTH_PW']!=$password))
   {
        header("WWW-Authenticate: Basic realm=\"System MWS, admin-panel\"");
  header("HTTP/1.0 401 Unauthorized");
  echo "<center><font size=10><b>ACCESS DENIED!</b></font></center>\n";
  exit;
   }
}
?>

Не пашет авторизация.. когда я ввожу логин и пасс (правильные) всегда выскакивает окошко и просит ввести пасс с логином заново. На хостинге все пашет, на локале нет =(( В чем дело?? Я дал print_r($HTTP_SERVER_VARS), и там не окозалось $HTTP_SERVER_VARS['PHP_AUTH_USER'] и ($HTTP_SERVER_VARS['PHP_AUTH_PW'],
Цитата
Array ( [REDIRECT_STATUS] => 200 [HTTP_ACCEPT] => */* [HTTP_ACCEPT_LANGUAGE] => ru [HTTP_ACCEPT_ENCODING] => gzip, deflate [HTTP_USER_AGENT] => Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) [HTTP_HOST] => localhost [HTTP_CONNECTION] => Keep-Alive [PATH] => C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem [SystemRoot] => C:\\WINDOWS [COMSPEC] => C:\\WINDOWS\\system32\\cmd.exe [PATHEXT] => .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH [WINDIR] => C:\\WINDOWS [SERVER_SIGNATURE] => 
Apache/2.0.43 Server at localhost Port 80
[SERVER_SOFTWARE] => Apache/2.0.43 (Win32) [SERVER_NAME] => localhost [SERVER_ADDR] => 127.0.0.1 [SERVER_PORT] => 80 [REMOTE_ADDR] => 127.0.0.1 [DOCUMENT_ROOT] => D:/server/www [SERVER_ADMIN] => localhost@127.0.0.1 [SCRIPT_FILENAME] => D:/server/php4/php.exe [REMOTE_PORT] => 1708 [REDIRECT_URL] => /urist.elabuga-city.ru/FILES/admin.php [GATEWAY_INTERFACE] => CGI/1.1 [SERVER_PROTOCOL] => HTTP/1.1 [REQUEST_METHOD] => GET [QUERY_STRING] => [REQUEST_URI] => /urist.elabuga-city.ru/FILES/admin.php [SCRIPT_NAME] => /php4/php.exe [PATH_INFO] => /urist.elabuga-city.ru/FILES/admin.php [PATH_TRANSLATED] => D:\\server\\www\\urist.elabuga-city.ru\\FILES\\admin.php [PHP_SELF] => /urist.elabuga-city.ru/FILES/admin.php [argv] => Array ( ) [argc] => 0 ) 

Как исправить эту траблу?

Автор: Mal Hack 24.7.2005, 12:30
Зачем $HTTP_SERVER_VARS, когда $_SERVER.
and заменить на ||. А вообще там OR нужен.

Автор: champion 24.7.2005, 14:34
Не помогает, все исправил...
Код

<?
if (isset($_GET['exit']))  { echo "<script>window.close();</script>";}
include("config.php");
include("functions.php");
if (!isset($_SERVER['PHP_AUTH_USER']))
 {
  header("WWW-Authenticate: Basic realm=\"System MWS, admin-panel\"");
  header("HTTP/1.0 401 Unauthorized");
  echo "<center><font size=10><b>ACCESS DENIED!</b></font></center>\n";
  exit;
 }
else
{
  if (( $_SERVER['PHP_AUTH_USER']!=$login) or ($_SERVER['PHP_AUTH_PW']!=$password))
   {
  header("WWW-Authenticate: Basic realm=\"System MWS, admin-panel\"");
  header("HTTP/1.0 401 Unauthorized");
  echo "<center><font size=10><b>ACCESS DENIED!</b></font></center>\n";
  exit;
   }
}
?>

Не пашет...

Автор: Mal Hack 24.7.2005, 14:39
Значит начинай отладку и смотри где что не выполняется, что до куда не доходит.

Автор: champion 24.7.2005, 14:58
Цитата(Mal @ 24.7.2005, 14:39)
Значит начинай отладку и смотри где что не выполняется, что до куда не доходит.

Нету переменных $_SERVER['PHP_AUTH_USER'] и $_SERVER['PHP_AUTH_PW']

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)