[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Аутентификиция
Гость_Максим
index.php
<?php include("lock.php");?>
<div>
<
a href='exit.php'><input name='Выход' type='submit' value='Выход'></a>
</
div>

Файл lock.php
<?php include("blocks/bd.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 pass 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 ($_SERVER['PHP_AUTH_PW']!= $pass['pass'])
{
Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
Header ("HTTP/1.0 401 Unauthorized");
exit();
}
}

?>

Можно ли прописать как-то кнопку выхода (log-out)
Пробовал писать так

<a href='exit.php'><input name='Выход' type='submit' value='Выход'></a>//Кнопка выхода

В файле exit.php
<?php
session_start();

if (empty($_SERVER['PHP_AUTH_USER']) or empty($_SERVER['PHP_AUTH_PW']))
{
//если не существует сессии с логином и паролем, значит на этот файл попал невошедший пользователь. Ему тут не место. Выдаем сообщение об ошибке, останавливаем скрипт
exit ("<html><head><meta http-equiv='Refresh' content='0; URL=index.php'></head></html>");
}
unset($_SERVER['PHP_AUTH_PW']);
unset($_SERVER['PHP_AUTH_USER']);

exit("<html><head><meta http-equiv='Refresh' content='0; URL=index.php'></head></html>");
// отправляем пользователя на главную страницу с окном пароля.
?>


Но к сожалению выводит окно уже открытое а не окно выбора пароля не могу понять как удалить пароль и логин с $_SERVER['PHP_AUTH_PW'] И $_SERVER['PHP_AUTH_USER']
можно конечно сделать на сессиях но хотелось бы через такой способ

Помогите пожалуйста



Спустя 10 минут, 22 секунды (24.09.2012 - 15:09) inpost написал(а):
Выкинь код Попова! Его в соседней теме вообще взломали smile.gif

Спустя 1 минута, 40 секунд (24.09.2012 - 15:11) Гость_Максим написал(а):
То есть лучше создать защиту на сессиях?

Спустя 1 минута, 53 секунды (24.09.2012 - 15:13) Guest написал(а):
Я для входа на сайт создал на сессиях, а для админки думал переделать но не получается, тогда сделаю на сессиях если данная аутентификация не надежна?

Спустя 1 час, 35 минут, 45 секунд (24.09.2012 - 16:49) twin написал(а):
Вот тут почитай. Аутентификация то вполне надежна, реализация у Попова хромает просто.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.