Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выход при "HTTP-Аутентификация в PHP"
 
 автор: ProtoTeeP   (15.09.2007 в 15:03)   письмо автору
 
 

вот код из мануала:


<?php
  
if (!isset($_SERVER['PHP_AUTH_USER'])) {
    
header('WWW-Authenticate: Basic realm="My Realm"');
    
header('HTTP/1.0 401 Unauthorized');
    echo 
'Текст, отправляемый в том случае,
    если пользователь нажал кнопку Cancel'
;
    exit;
  } else {
    echo 
"<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
    echo 
"<p>Вы ввели пароль {$_SERVER['PHP_AUTH_PW']}.</p>";
  }
?>


вот еще :


<?php
  
function authenticate() {
    
header('WWW-Authenticate: Basic realm="Test Authentication System"');
    
header('HTTP/1.0 401 Unauthorized');
    echo 
"Вы должны ввести корректный логин и пароль для получения доступа к ресурсу \n";
    exit;
  }

  if (!isset(
$_SERVER['PHP_AUTH_USER']) ||
      (
$_POST['SeenBefore'] == && $_POST['OldAuth'] == $_SERVER['PHP_AUTH_USER'])) {
   
authenticate();
  } 
  else {
   echo 
"<p>Добро пожаловать: {$_SERVER['PHP_AUTH_USER']}<br />";
   echo 
"Предыдущий логин: {$_REQUEST['OldAuth']}";
   echo 
"<form action='{$_SERVER['PHP_SELF']}' METHOD='post'>\n";
   echo 
"<input type='hidden' name='SeenBefore' value='1' />\n";
   echo 
"<input type='hidden' name='OldAuth' value='{$_SERVER['PHP_AUTH_USER']}' />\n";
   echo 
"<input type='submit' value='Авторизоваться повторно' />\n";
   echo 
"</form></p>\n";
  }
?>


а как мне сделать выход?
т.е. если я закрываю броузер, и повторно открываю данную страницу данные сохраняются. и меня свободно пропускают в закрытую зону. А мне нужно чтоб скрипт занова потребовал пароль...

   
 
 автор: cheops   (16.09.2007 в 10:44)   письмо автору
 
   для: ProtoTeeP   (15.09.2007 в 15:03)
 

>т.е. если я закрываю броузер, и повторно открываю данную страницу данные сохраняются. и меня свободно пропускают в закрытую зону. А мне нужно чтоб скрипт занова потребовал пароль...
Вы закрываете все страницы браузера или только одну?

   
 
 автор: ProtoTeeP   (16.09.2007 в 11:01)   письмо автору
 
   для: cheops   (16.09.2007 в 10:44)
 

совсем закрываю броузер (опера 9.21)
сейчас попробую на IE

   
 
 автор: ProtoTeeP   (27.09.2007 в 13:41)   письмо автору
 
   для: ProtoTeeP   (16.09.2007 в 11:01)
 

UP!!! как сделать выход? не закрывая броузер?? т.е необходимо удалить переменные $_SERVER['PHP_AUTH_PW']
$_SERVER['PHP_AUTH_USER']

   
 
 автор: ddhvvn   (27.09.2007 в 14:45)   письмо автору
 
   для: ProtoTeeP   (27.09.2007 в 13:41)
 

Попробуйте так

<?php
  
unset($_SERVER['PHP_AUTH_PW'],  $_SERVER['PHP_AUTH_USER']);
?>

   
 
 автор: ProtoTeeP   (27.09.2007 в 15:04)   письмо автору
 
   для: ddhvvn   (27.09.2007 в 14:45)
 

=) работает... хотя до этого так делал, но что-то не работало... а можно $_SERVER['PHP_AUTH_USER'] - сделать по умолчанию? чтоб уже значение было написано, но можно было менять... или совсем удалить запрос username, а оставить только запрос пароля пароль...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования