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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как сделать выход из админки (basic аутентификация)?

Сообщения:  [1-3] 

 
 автор: cheops   (23.03.2011 в 12:52)   письмо автору
 
   для: netas   (23.03.2011 в 11:14)
 

Человеческий выход из basic-аутентификации не предусмотрен... да появляется окно входа и тут нужно нажать отмена, чтобы произошел выход или закрыть окно. Красивого и читого выхода нет.

  Ответить  
 
 автор: tvv123456   (23.03.2011 в 12:47)   письмо автору
 
   для: netas   (23.03.2011 в 11:14)
 

Со стороны клиента: достаточно закрыть все окна браузера.
Со стороны сервера: никак.

http://softtime.ru/forum/read.php?id_forum=1&id_theme=67980&page=2
первый ответ в теме вас заинтересует и там вы найдете комментарий по поводу вот этого куска кода:

<?
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']);        
 }

  Ответить  
 
 автор: netas   (23.03.2011 в 11:14)   письмо автору
 
 

Уважаемые знатоки, помогите разрешить такую проблему.

У меня авторизация производится так:

<?php 
session_start
(); 
include(
"config.php");
 if (!isset(
$_SERVER['PHP_AUTH_USER'])) 
{         
Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");         
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 * FROM userlist WHERE user='".$_SERVER['PHP_AUTH_USER']."'";         
$lst = @mysql_query($query);         
if (!
$lst)        
 {             
Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");         
Header ("HTTP/1.0 401 Unauthorized");        
 exit();        
 }        
 if (
mysql_num_rows($lst) == 0)        
 {            
Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");            
Header ("HTTP/1.0 401 Unauthorized");            
exit();         
}         
$pass =  @mysql_fetch_array($lst);         
if (
md5($_SERVER['PHP_AUTH_PW'])!= $pass['pass'])         
{             
Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");            
Header ("HTTP/1.0 401 Unauthorized");            
exit();         
}  

?> 


Когда находишься в админке, нужно сделать кнопочку "Выйти".

Делаю так:
сама кнопка

<form method='post'> <input type='submit' name='exit' value='Выйти'> </form> 


в начале скрипта поставил такой обработчик

if($_POST[exit]) {unset ($_SERVER['PHP_AUTH_USER']); unset($_SERVER['PHP_AUTH_PW']);} 


после него идёт та проверка, что в начале.
Казалось бы должно работать, но по нажатии на "Выход" выскакивает окошко для ввода авторизации, но при вводе корректных логина и пароля, не пускает, а при отмене как ни в чём не бывало загружает того юзера, из которого вышли.

Не подскажете, как правильно реализовать выход?

  Ответить  

Сообщения:  [1-3] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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