Имя пользователя:
Пароль:
 

Название темы: Авторизация на PHP
Показать сообщение отдельно

Старожил


Сообщения: 155
Благодарности: 2

Профиль | Отправить PM | Цитировать


Да-да, все верно - буду инклюдить! Только не понятно - как без сессий-то обойтись?

Я делаю так: в самое начало файла, который должен быть защищен, вставляю код:
PHP код: Выделить весь код

<?

require "auth.inc";
if((
session_is_registered("auth") == false) || (@$auth != 1))
{
  unset(
$PHP_AUTH_USER); // не работает
  
Header("HTTP/1.0 401 Unauthorized"); // вместо этого можно сделать редирект на $_SERVER['HTTP_REFERER']
  
exit;
}
<...>
?>

Содержимое файла "auth.inc":
PHP код: Выделить весь код

<?

if(!isset($PHP_AUTH_USER))
{
  
Header("WWW-Authenticate: Basic realm=\"Private\"");
  
Header("HTTP/1.0 401 Unauthorized");
  echo 
"<p>Авторизация отменена пользователем!</p>";
  exit;
}
else
{
  
// Сравниваем введенные значения с парой логин-пароль из файла с паролями
  
session_start();
  
session_register("auth");
  
$auth 0;
  foreach(
file("passw/passw") as $k)
  {
    if(
trim($k) == "$PHP_AUTH_USER $PHP_AUTH_PW")
      
$auth 1;
  }
}
?>

1) Теперь правильно?
2) Хочу сделать так, чтобы после неверного ввода Л/П можно было бы опять вводить Л/П - но unset($PHP_AUTH_USER); не помогает...

Отправлено: 00:27, 25-02-2007 | #16

Название темы: Авторизация на PHP